12/08/2018, 11:06

Hướng Dẫn Cài Đặt Và Sử Dụng Zend Framework 2

Để cài đặt được một project Zend Framework 2 trước tiên ta phải download : Zend Skeleton Application và thư viện Zend Framework 2. Zend Skeleton Application là một mô hình MVC và quản lý những module của ZF2 cung cấp. Trước tiên ta tải thư viện về git clone git://github.com/zendframework ...

  1. Để cài đặt được một project Zend Framework 2 trước tiên ta phải download : Zend Skeleton Application và thư viện Zend Framework 2.
  • Zend Skeleton Application là một mô hình MVC và quản lý những module của ZF2 cung cấp. Trước tiên ta tải thư viện về
   git clone git://github.com/zendframework/ZendSkeletonApplication.git

Sau đó ta copy nó vào thư mục www của Apache. Ở đây ta có các thư mục

 - **config** : Dùng để cấu hình routes, databases, ...
 - **library** : Dùng để chứa các thư viện mở rộng và ZF2
 - **module** : Dùng để chứa các Module của ứng dụng : Controller, Model, View, ...
 - **vendor** : Dùng để chứa các Module mở rộng có sẵn
  • Library Zend Framework 2 :

    • Link download click here
    • Sau đó ta copy folder library của ZF2 vào trong project *ZendSkeletonApplicationvendorF2*
  • Như vậy là ta đã hoàn thành bước cài đặt ZF2. Bạn có thể truy cập vào đường link : http://localhost/ZendSkeletonApplication/public/ để chạy ứng dụng

  1. Bước tiếp theo ta bước vào config ZF2

    • Để chạy được ứng dụng không phải thông qua module public chúng ta tạo 1 file index.php ở thư mục cha ZendSkeletonApplication với nội dung sau :
		if (php_sapi_name() === 'cli-server' && is_file(__DIR__ . parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH))) {
    			return false;
		}
		// Setup autoloading
		require 'init_autoloader.php';
		ZendMvcApplication::init(require 'config/application.config.php')->run();

Như vậy là bạn có thể truy cập với đường link : http://localhost/ZendSkeletonApplication

  • Ở ZF2 nó chia ra từng module nhỏ. Mỗi một module sẽ có 1 config cho từng module. vì vậy khi làm việc với module bạn chú ý các vấn đề sau.
    • Ở file /module/Application/Module.php có 3 method :
      • onBootstrap() : là phương thức để gọi các Module dùng để quản lý các sự kiện trong Module
      • getConfig(): Dùng để nạp nội dung cấu hình của Module
      • getAutoloaderConfig(): Dùng để thiết lập giá trị namespace cho MODULE
      • Ở đây ta có thể tạo ra 1 method có tên là getServiceConfig() để khai báo các model của module nếu muốn sử dụng nó với nội dung như sau :
          public function getServiceConfig() {
                    return array('factories' => array(
                    	'ApplicationModelApplicationModel' => function ($sm) {
                        	return new ModelBranchModel($sm->get('ZendDbAdapterAdapter'));
                    	},
                    ),);
    	  }
  - Tiếp đến bạn chú ý đến file :  **/module/Application/config/module.config.php**. Mục đích của file này là trả về 1 mảng cấu hình gồm :
   		- router : mục đích của nó là cấu hình **url** cho module
   		- controllers : khai báo default **url** cho module
   		- view_manager : cấu hình cho VIEW, LAYOUT
  • Bây giờ chúng ta đến với thư mục config : ZendSkeletonApplication/application.config.php. Ở đây ta chú ý
   'modules' => array(
        	'Application',
    ),

Đây là phần khai báo để ta có thể sử dụng các Module của ZF2. Như vậy là ta đã cấu hình xong ZF2

  1. Bây giờ tui sẽ hướng dẫn các bạn sử dụng cơ bản về ZF2
- Ta mở folder **/module/Application/src/Application/Controller** trong đó có file **IndexController.php** ở method indexAction() ta viết đoạn code sau:
    public function indexAction() {
    		$data = [
            	'appContent' => 'Application demo with Zend Framework 2'
            ];
            return new ViewModel($data);
    }
  • Tiếp đến ta mở file /module/Application/view/application/layout/layout.phtml ta viết nội dung sau :
   <html lang="en">
           <head>
           		<meta charset="utf-8">
           </head>
           <body>
           		<?php echo $this->content; ?>
           </body>
   </html>
  • Ta mở file /module/Application/view/application/index/index.phtml ta viết nội dung sau :
   <h1><?php echo $this->appContent ?></h1>
  • Như vậy chúng ta đã xong 1 module đơn giản với ZF2 và truy vập với đường link sau để kiểm tra kết quả : http://localhost/ZendSkeletonApplication
  1. Kết luận
  • Như vậy, ta đã hoàn thành được 1 module đơn giản với ZF2. Nhìn vào đó ta thấy được cấu trúc quản lý và xây dựng 1 dự án với ZF2 rất rõ ràng với từng Module giúp ta kiểm soát được toàn bộ dự án khi bắt đầu. Tuy vậy nó vẫn có ngược điểm đó là bộ thư viện của ZF2 khá lớn nên việc tiếp cận và sử dụng nó rất khó cho những bạn mới bắt tay vào làm
0