Đang tải dữ liệu...
Thiên đường website
Liên hệ
Chính sách
Khách hàng
Giới thiệu
Trang chủ
 
Dịch vụ
  • Thiết kế website
  • Hosting
  • Thiết kế đồ họa
  • SEO tăng thứ hạng
  • Nâng cấp website
  • Dịch vụ nhập liệu
  • Website cho điện thoại
  • Tích hợp thanh toán trực tuyến
  • Dịch vụ google cloud, ec2 cloud
  • SEO tools
  • Đọc tin Rss
Kiến thức cho bạn
  • Trao đổi - học tập
    • Jquery (2)
    • NoSQL (4)
    • NodeJs (1)
    • Lập trình iOS (3)
    • Thủ thuật - kinh nghiệm (33)
    • Lập trình website (63)
    • Tối ưu hóa (11)
    • Mã nguồn (20)
    • SEO (35)
    • Bảo mật (9)
    • htaccess (5)
    • Ebook - tài liệu (4)
    • WYSIWYG (3)
    • Phần mềm (11)
    • Photoshop (5)
  • Thư giản - giải trí
    • Sáng tạo (5)
    • Địa điểm vui chơi (5)
    • Quà tặng (2)
    • Truyện -hình vui (9)
    • Video clip (9)
    • Game (3)
Hỗ trợ trực tuyến
Kỹ thuật : 098 7277 329
vfa.hoangnn - Mr. Hoàng
Tư vấn : 090 282 4547
vfa.hoangnn - Mr. Hoàng
Đối tác
New day TravalReview CompanyMua sắm cả ngày


Mỹ phẩm The Face Shop
Mã giảm giá - Code khuyến mãi
Ốp lưng, Bao da Đẹp
Giá vàng, giá USD
Ốp lưng tự thiết kế
Apr
24

Tìm hiểu Zend framework nên bắt đầu từ đâu ? (phần 2)

23:32 pm GMT +7 Hanoi |
Trang chủ ›
Trao đổi - học tập ›
Lập trình website

Thêm vào trang Google +

Một phương pháp có thể nâng cao tính năng bảo trì của ứng dụng bằng việc tách riêng code của chúng ta thành ba phần Model-View-Controller :
Mình xin nhắc lại mô hình kiến trúc MVC :

Một phương pháp có thể nâng cao tính năng bảo trì của ứng dụng bằng việc tách riêng code của chúng ta thành ba phần Model-View-Controller :


2.1.2.1. Model

Model Là một đối tượng hoặc tập hợp các đối tượng biểu diễn cho phần dữ liệu của chương trình ứng dụng.
Thành phần model này được chúng ta xây dựng thành các lớp kế thừa từ lớp Zend_Db_Table hoặc Zend_Db_Table_Abstract được đặt trong thư mục application/models của ứng dụng. Mổi lớp sẽ đảm nhận việc kết nối và thao tác đến table tương ứng trong cớ sở dữ liệu.

2.1.2.2. View

Là phần giao diện với người dùng. bao gồm việc hiện dữ liệu ra màn hình, cung cấp các menu, nút bấm, hộp đối thoại, chọn lựa…, để người dùng có thể thêm, xóa, sửa, tìm kiếm và làm các thao tác khác đối với dữ liệu trong hệ thống. View làm nhiệm vụ render trang web từ các action do controller truyền sang kết hợp với dữ liệu từ model, có thể hiểu View đóng vai trò như là template render.

Thành phần view này được đặt trong thư admin/views và default/views .
Trong thư mục views này có 3 thành phần :

Scripts :
Chứa các thư mục gồm các file ánh xạ đến các controller/action để hiển thị trang giao diện tương ứng .

helpers :
Trong thư mục này chứa các các lớp mà chúng ta tạo ra và các lớp này sẽ được nạp tự động cho đối tượng Zend_view thông qua Zend_View_Helper để giúp chúng ta dễ dàng gọi đến hàm được xây dựng trong lớp này mà không cần phải khai báo trước vì nó được xem là một thành phần trong thư viện của Zend (được nạp tự động).

filters : Tương tự như thành phần helpers,filters chứa các lớp giúp cho chúng ta có thể thay đổi hoặc xóa những dữ liệu không mong muốn trong quá trình nhập liệu thông qua bộ lọc này.

2.1.2.3. Controller

Là phần điều khiển toàn bộ logic về hoạt động của giao diện, tương tác với thao tác của người dùng và cập nhật, thao tác trên dữ liệu theo đầu vào nhận được và điều khiển việc chọn phần “Hiển thị” thích hợp để truyền dữ liệu tới người dùng.
Controller làm nhiệm vụ điều hành trang web của bạn, 1 trang web có thể có nhiều module , 1 module có thể có nhiều controller. Một controller sẽ gồm nhiều action .
Zend Framework sử dụng đối tượng Front Controller để quản lý các Request được gởi đến Web server. Và dựa trên Request đó, nó sẽ gọi các lớp xử lý Model và trả về kết quả trình bày với các lớp View.

Ví dụ: Trong website eshop sẽ có UserController bao gồm các action như:loginAction,registerAction,displayprofileAction,…

Bootstrap :

Ngoài ra trang web của bạn cần có 1 file quan trọng chính là bootstrap, làm nhiệm vụ “đón đầu” tất cả các request vào, sau đó khởi tạo controller và dispatch request đến controller tương ứng.

Điều đó có nghĩa là thay vì bạn tổ chức với đầy đủ chức năng từ kết nối đến database , xữ lý và hiển thị kết quả ra trình duyệt chỉ trong một file thì với mô hình kiến trúc MVC này bạn tách làm 3 thành phần riêng biệt (có thể ví như việc phân công lao động theo chuyên môn của mổi người vậy) mổi phần sẽ đảm nhiệm môt nhiệm vụ đặc trưng của mình (

một thành phần (có thể nhiều class ) cho kết nối , xữ lý database - một file lo việc hiển thị kết quả ra trình duyệt và một cho xữ lý điều khiển tương tác hai thằng còn lại .

)

2.1.2.5. Cơ chế hoạt động của ZF

Trong ZF Tất cả các yêu cầu (request) đều được xữ lý tập trung,tất cả các request đều được front controller gửi (dispatch)tới controller actions mổi khi phát hiện có bất kỳ request nào xãy ra.
Zf còn hổ trợ plugin ở mọi cấp xữ lý và bạn có thể xây dựng plugin một cách linh động để bạn có thể thay đổi những thành phần cụ thể cho ứng dụng riêng của bạn để nó không phải làm quá nhiều công việc .

Zend_View là hệ thống view template trong Zf,nó cung cấp một hệ thống template PHP cơ bản .Không giống như Smarty,Zend_View cung cấp một hệ thống Plugin helper cho phép chúng ta có thể trình bày code một cách sáng tạo để có thể tái sử dụng .nó được thiết kế để cho phép chúng ta override các yêu cầu cụ thể và thậm chí nó có thể được thay thế hoàn toàn bằng một hệ thống template khác chẳng hạn như Smarty .

Zend_Db_Table thiết lập một cách thức truy cập vào một table trong database để tạo thành một thành phần model cơ bản trong mô hình kiến trúc MVC .

Hình sau sẽ giải thích cho chúng ta thấy cơ chế hoạt động này :

khi có request từ người dùng thì lập tức bootstrap file (index.php) sẽ đón nhận request này và giao nhiệm vụ điều khiển hướng truy cập cho Front Controller ,Front Controller sẽ chọn và gọi action tương ứng .sau đó Action Controller này tương tác với Zend_Db_Table (Model) và trả về kết quả xử lý cho Zend_View (View) .và cuối cùng hiển thị kết quả (response) ra trình duyệt .

Địa chỉ Url định tuyến mặc định :
Khi có một request được gửi thì request này mặc định có địa chỉ URL :

CODE

  /Controller/action
  /Controller/action/key1/value1/key2/value2
  /module/Controller/action
  /module/controller/action/key1/value1/…



Controller ở đây chính là một lớp (class) được đặt trong thư mục Controllers ,Acion thực chất là một hàm được định nghĩa trong Controller đó .

Thêm vào trang Google +
Số lần xem : 5342
Đánh giá
Facebook

Bài viết liên quan
  • 06/02/2015 16:16 html to image php script
  • 08/12/2014 11:22 Hướng dẫn cài đặt website php, mysql trên google app engine
  • 16/08/2014 15:41 Top 10 mẫu web đẹp ấn tượng
  • 11/09/2013 08:47 Cách dùng ob start , ob flush(), flush()
  • 30/01/2013 10:23 Tạo dịch vụ API trong PHP, PHP API rest
Bài viết mới hơn

<< Trang trước


Thienduongweb.com - Thiết kế website, tạo gian hàng miễn phí
Địa chỉ trụ sở chính: 241/45 Tân Hòa Đông, F14, Quận 6, TP.HCM
Email: info@thienduong.com
Điện thoại: 098 7277329