20 Nov 2015

[Phalcon 2] 10. Multi module in Phalcon| Tạo nhiều module trong phalcon

Hướng dẫn tạo multi module trong phalcon cho nhiều user hay nhiều thành phần chức năng khác nhau

Mã nguồn tải tại đây multi module

Gồm có 2 module backend, frontend
multimodule.dev/:Module/:Controller/:Action/

  1. multimodule.dev
  2. multimodule.dev/backend/index/
  3. multimodule.dev/frontend/index/
  4. multimodule.dev/frontend/new/

1. Cấu trúc project

├───.phalcon
├───.settings
├───apps
│   ├───backend    --> backend module
│   │   ├───Module.php-->File config cho module: services,autoload,...
│   │   ├───config
│   │   ├───controllers
│   │   ├───migrations
│   │   ├───models
│   │   └───views
│   │       ├───index
│   │       └───layouts
│   └───frontend   --> frontend module
│       ├───Module.php
│       ├───config
│       ├───controllers
│       ├───migrations
│       ├───models
│       └───views
│           ├───index
│           ├───layouts
│           └───new
├───config
└───public
    ├───css
    ├───files
    ├───img
    ├───js
    └───temp
Mỗi module sẽ là 1 MVC nhỏ có đầy đủ Model, View, Controller có thể có database riêng
  1. ../apps/configs/modules.php --> Đăng ký module namespace để autoload các module
  2. ../apps/config/routes.php --> Tạo router setting url cho web
  3. ../apps/config/services.php --> Cấu hình services
  4. ../apps/backend/Module.php --> File quan trọng để đăng ký và cấu hình module cho project sẽ được load trong modules.php

2. Lỗi thường gặp phải phalcon multi module

'Modules\Frontend\Controllers\NewController handler class cannot be loaded
Hoặc load được 1 module mà không load được các module khác
--> Thường là do namespace khai báo sai --> Không sử dụng được cần check kỹ namespace


No comments:

Post a Comment

hocphalcon.blogspot.com