[Zend 2 Framework] – Bài 1. Giới thiệu tổng quan về Zend 2 Framework (Z2F)

 

– Chào các bạn ! Mình là Nguyễn Anh Huy hiện tại mình cũng nắm sơ về Zend 2 Framework này. Mình thấy đây là 1 framework khá là hay . Mình tạo ra những bài viết này chỉ mang tính chất hướng dẫn lại cho các bạn nào mới biết về z2f cũng như php framework.
– Trước giờ mình chưa từng làm hướng dẫn về lĩnh vực nào hết ^^! . Nên trong quá trình mình làm có thể sai xót, sai chính tả, hay viết nhầm. Mong các bạn bỏ qua cho nhé.
– Bạn nào giỏi có thể hướng dẫn thêm trong bài. Trước khi đi vào từng bài, mình mong được làm quen và trao đổi với các bạn nhé ^^!

 

 Mình sẽ bắt đầu các bài hướng dẫn theo mục sau. 

  1. Mô hình MVC
  2. Xây dựng ứng dụng theo mô hình MVC.
  3. Xây dựng ứng dụng có sử dụng CSDL theo mô hình MVC.
  4. Tổng quan Zend Framework 2 (ZF2)
  5. Zend Module
    • Zend Module
    • Zend Module Manager
    • Zend Module Autoloader
    • Cấu trúc của module trong ZF2
    • Namespaces, MVC layer
  6. Routing và Controller
    • Routing
    • Controller
  7. Database và Model
    • ZendDbAdapter
    • ZendDbSql
    • ZendDbTableGateway
    • ZendDbRowGateway
    • Database
    • Model
  8. Form và Action
  9. File Transfer và Paginator
  10. Captcha
  11. Zend Zend\Config\Reader: \Ini, \XML, \Json, \Yaml
  12. Zend\Config\Writer: \Ini, \Xml, \Json, \Jaml
  13. Zend\Mail: \Message, \Transport, \Transport\SmtpOptions, \Transport\FileOptions
  14. Session: Session Config, Session Container, Session Manager, Session Save Handlers, Session Storage
  15. Cart
  16. Authentication: Identity, Credential
  17. MvcEvent: MvcEvent, Listeners, Credential
  18. ACL: Resource, Roles, Privilege, allow/deny
  19. JSON
  20. Unit Testing
    • PHPUnit.
    • Unit Test.
    • Test Controller, Test Model, Test Model Table.
  • Các bạn có thể follow các bài viết của mình . Mình sẽ cố gắng cung cấp kiến thức và kỹ năng từ cơ bản đến nâng cao về cách xây dựng website dựa trên Zend Framework 2 để các bạn có thể xây dựng và triển khai những website có quy mô vừa và lớn, đáp ứng nhu cầu thực tế hiện nay.

Mình đi thằng vào vấn đề luôn.

Bài 1: Tổng quan Zend Framework 2 (ZF2)

1. Giới thiệu ZF :

Zend Framework là một PHP Framework đuợc lập trình bằng ngôn ngữ PHP và dựa trên mô hình MVC, giúp tách các thành phần xử lý ra một cách rõ ràng cho website của bạn, giúp cho code được dễ dàng quản lý, chỉnh sửa và nâng cấp.
– Sử dụng PHP 5 >
– Viết theo hướng đối tuợng
– Cung cấp mô hình tiên tiến MVC
– Là 1 phần mềm nguồn mở có sự hỗ trợ cộng đồng
– Cung cấp 1 loạt các ứng dụng API của các nhà cung cấp hàng đầu như Google, Yahoo, Flick…

Chúng ta sử dụng Z2f đề làm gì nhỉ ?

– Tạo ứng dụng web theo mô hình chuẩn MVC
– Url tiêu chuẩn, ngắn gọn
– Hỗ trợ phân quyền tới từng Action
– Có các thành phần thư viên hỗ trợ API của các nhà cung cấp như Google, Yahoo, Flick
– Quản lý code dễ dàng, liệt kê và lấy các truy Quản lý code dễ dàng, liệt kê và lấy các truy vấn history
– Dễ dàng phát triển thêm các ứng dụng nhúng, sử dụng Plugins .

2. Lý do chọn ZF :

– Có rất nhiều thư viện được hỗ trợ sẵn
– Là một PHP Framework được do chính công ty phát triển ngôn ngữ PHP phát triển(www.zend.com).
– Được xây dựng trên nền tảng lập trình hướng đối tượng nên có thể thừa kế, nâng cấp các ứng dụng một cách dễ dàng.
– Những thành viên phát triển Zend Framework là những chuyên gia nổi tiếng về mã nguồn mở và PHP trên thế giới.
– Mô hình MVC hoặc không theo chuẩn MVC trong Zend Framework rất linh hoạt giúp chúng ta có thể tùy biến cấu hình ứng dụng theo ý muốn.

– Tích hợp các thư viện, các thành phần khác một cách linh hoạt và nhanh chóng.
– Có tài liệuđểtham khảo.
– Cộng đồng người sử dụng Zend Framework lớn.
– Những ứng dụng lớn hiện nay đã dần chuyển qua dùng Zend Framework làm nền tảng.
– Nhu cầu tuyển dụng lập trình viên biết Zend Framework lớn.
– Bảo mật của các ứng dụng rất tốt nên tránh được các lỗi thường gặp trong các ứng dụng viết bằng PHP thường.

3. Giới thiệu Z2F :

– Zend Framework 2 là một framwork mã nguồn mở dùng cho việc phát triển các ứng dụng web sử dụng PHP 5.3.x. ZendFramework được xây dựng hoàn toàn theo hướng đối tượng OOP và sử dụng hầu hết các đặc điểm mới của PHP 5.3 như namespaces late static binding phương thức lambda và closures.
– Zend Framework 2 phát triển từ ZendFramework 1, một framework PHP rất thành công với hơn 15 triệu lượt tải về.

 Đặc điểm của Z2F :

  •  Cấu trúc mới 
  •  Theo mô hình MVC, sử dụng Di, Events, Service, Module
  •  Cải tiến về chức năng.
  • Sử dụng PHP 5.3.3
  • PSR – 2 compliant (hỗ trợ pyrus, composer)
  • Hệ thống đóng gói.
  • ZF được viết theo kiểu OOP nên nó thừa hưởng các thế mạnh của kiểu viết này. Các lớp của ZF được BA (Business Analysis) rất chuẩn và khi cần mở rộng ta có thể dùng thể dùng tính chất thừa kế của OOP. Nói chung là ta không phải chỉnh sửa core của ZF.
  • Hầu như các version mới của ZF không có nhiều thay đổi trong core nên ta có thể dễ dàng update.
  • ZF tích hợp được gần như tất cả các thư viện PHP và các CMS khác để sử dụng. VD: Smarty – Pear -FCKEditor – Drupal …
  • Cách viết của ZF rất thân thiện và đơn giản. Tích hợp những mới nhất của lập trình web như: JSON – Search – Syndication -Web Services…
  • ZF được sử dụng trong các dự án lớn và có kế hoạch phát triển dài lâu

 

Tóm lại lý thuyết là như vậy, theo mình điểm mạnh của nó cách tổ chức, logic, xây dựng các dự án lớn….. Trong mỗi bài mình sẽ nêu rõ những ưu điểm của nó nhé.

Bây giờ mình sẽ đi vào nhanh vào trọng tâm.

Bài đầu tiên mình giới thiệu lại về mô hình MVC + demo mẫu về mô hình MVC.