Hãy mô tả các quy tắc trong các layer model, view, controller của cakephp
Nội dung : Show
1. Cách đặt tên file, tên lớp
Ví dụ : ta có tên lớp là MyClass -> file class tương ứng : my_class.php 2. Các qui ước về Model và CSDL- Tên các lớp model được đặt ở dạng số ít và việc viết hoa thường tuân theo CamelCased CREATE TABLE posts_tags ( id INT(10) NOT NULL AUTO_INCREMENT, post_id INT(10) NOT NULL, tag_id INT(10) NOT NULL, PRIMARY KEY(id)); - Lẽ ra trong table post_tags, bình thường thì 2 cột post_id và tag_id ta có thể cho nó làm khóa chính nhưng CakePHP không chấp nhận điều này. 3. Qui ước về Controller :- Tên lớp của controller đặt theo dạng số nhiều, Ví dụ: ta có Controller tên Products thì có class Controller như sau : PHP Code:
- Khi một phương thức trong Controller được đặt tên bắt đầu với với dấu “_” ở phía trước, bạn sẽ không thể truy xuất nó từ bên ngoài mà chỉ có thể truy xuất trong controller đó (cái này gọi là private). PHP Code:
index() : public function Mô tả hoạt động : 4. Qui ước về View- Tên file của View
được đặt tương ứng với phương thức trong Controller và để trong thư mục theo tên file controller (không kèm theo chữ “controller”). Ví dụ : Ta có controller NewsController với 2 function: - Mặc định, nếu trong controller NewsController có method view(), khi gọi action view trên trình duyệt
(http://localhost/news/view) thì Controller sẽ tìm file view.ctp trong app/views/news/view.ctp PHP Code:
Ví dụ về mặc định : PHP Code:
Ví dụ về load 1 file view khác : PHP Code:
- Truy cập : http://localhost/news/view -> load file : view_demo.ctp trong thư mục app/views/news/ 5.Tổng kết : viết demo đơn giản với CakePHP- Viết dứng dụng đơn giản với đường link : http://localhost/cakephp/relax/playgame/10 PHP Code:
Ghi chú : Hàm PHP Code:
: gán mảng giá trị $info vào biến $data để hiển thị bên View tương ứng - Vào thư mục app/views/ tạo thư mục relaxs ứng với
Controllers relaxs trên PHP Code:
-Kiểm tra kết quả : http://localhost/relaxs/playgame/12 Title không hiển thị kết quả như mong muốn do CakePHP có 2 chế độ : |