(Bài tiếp) Autoload trong ZF

Zend Skeleton Application

Zend Framework là bộ khung chứa rất nhiều thư viện sử dụng nhiều khái niệm mới, nhiều mô hình lập trình khác nhau, nên trước khi học về ZF bạn cần lưu ý đã học qua các đơn vị kiến thức sau:

Như đã biết Zend Framework (ZF) có rất nhiều thành phần, tùy cách phối hợp giữa các thành phần đó để tạo nên ứng dụng riêng, trong đó Zend Skeleton Application như là một ứng dụng khung của ZF, là một mẫu chuẩn ứng dụng. Để học ZF cách tốt là bắt đầu cài đặt và tìm hiểu về Zend Skeleton vì nó chứa các thành phần cơ bản, đơn giản của ZF nhằm mục đích tạo ra một website

Zend Skeleton lưu trữ trên GitHub, theo đường link sau: Zend Skeleton

Tuy nhiên, bạn nên tải về bằng cách sử dụng Composer (cài đặt và dùng Composer):

Để thực hành bạn cần tạo một thư mục dự án PHP (ví dụ thư mục C:/wamp64/www/zf3, bạn thiết lập thư mục đó truy cập được bằng http://localhost/zf3, hoặc domain ảo hoặc đường dẫn theo cách nào đó) sau đó mở cmd, chuyển vào thư mục đó gõ lệnh Composer như sau:

 composer create-project -s dev zendframework/skeleton-application C:/wamp64/www/zf3

Khi chạy lệnh, khi hỏi minimal install trả lời n, còn lại nên trả lời y cho các tùy chọn. Với các câu hỏi về cách inject module bạn nên chọn 1 (config/modules.config.php)

Sau khi cài đặt xong, vào trình duyệt gõ địa chỉ http://localhost/zf3/public/ (địa chỉ trỏ tới folder cài đặt zf2, tùy thuộc vào cấu hình LAMP của bạn mà có thể khác, hoặc bạn tử cấu hình domain ảo trỏ vào địa chỉ đó), Zend Skeleton xuất hiện với giao diện ban đầu như hình

zf3

Tức là Website chạy bắt đầu từ file index.php trong thư mục public của dự án.

Giờ bạn dùng một IDE hỗ trợ PHP, HTML, CSS nhử PHPStorm, Eclipse (free), NetBeans IDE, Zend Studio ... để mở thư mục dự án và bắt đầu nghiên cứu về ZF

Loại bỏ public trong URL

Nếu muốn gõ đĩa chỉ ở local là http://localhost/zf3/ chứ không phải http://localhost/zf3/public/ thì làm như sau:

  • Di chuyển file index.php trong public ra thư mục gốc dự án. Mở file ra chỗ nào có /../ thay bằng /, xóa dòng có chdir(dirname(__DIR__));
  • Mở file \module\Application\view\layout.phtml, chỗ nào có $this->basePath(' thay bằng $this->basePath('public/
  • Copy .httaccess ra thư mục gốc

Cấu trúc thư mục của Skeleton ZF

Zend Framework tùy biến cấu trúc thư mục tự do, tuy nhiên hãy theo nguyên tắc phổ biến đưa ra bởi chương trình khung. Bạn mở thư mục dự án ra, và cơ bản nó tổ chức như hình

folder zf2

  • config chứa các file thiết lập của Website
  • data nơi lưu dữ liệu (ví dụ cache, files ...)
  • module chứa các module ứng dụng (các module mà bạn dùng ZF tạo ra, cơ bản code PHP ứng dụng của bạn ở đây)
  • public lưu trữ những file thường xuyên truy cập bởi người dùng, như css, img, js trong thư mục con:
    • css
    • js
    • img
    • fonts
  • vendor thư viện dùng bởi Website, đó là các Dependence (thành phần bên thứ 3 bạn dùng tới, các thành phần này được tải về theo cấu hình của composer.json), thư viện ZF ở đây

Tắt ZendDeveloperTools

Bạn quan sát khi chạy ứng dụng khung Zend Framework với cách cài đặt như trên, nó có một thanh ở phía dưới trang web, nó là cung cụ trợ giúp mạnh giúp bạn giám sát trong quá trình phát triển ứng dụng, tuy nhiên ở thời điểm này tạm thời tắt đi.

Mở file modules.config.php trong thư mục config thêm comment // vào trước dòng ZendDeveloperTools thành //ZendDeveloperTools

Ở đây sử dụng phiên bản 3.x mới nhất của Zend Framework, nó yêu cầu PHP 7.x trở lên


Đăng ký nhận bài viết mới
(Bài tiếp) Autoload trong ZF