1.Giới thiệu sơ lược về Cakephp.
– CakePHP là một Framework cho php . Mục đích của nó là cung cấp một framework cho người sử dụng php phát triển những ứng dụng web nhanh, mạnh mẽ ,linh họa .Và điều quan trọng là CakePHP là một OpenSource (miễn phí). Để sử dụng nó, yêu cầu người làm phải biết những kiến thức như: Cơ bản về PHP và HTML, Kiến trúc MVC,Lập trình hướng đối tượng.
– Các tính năng cơ bản của Cakephp:
+ Nguồn mở, miễn phí, có cộng đồng sử dụng và hỗ trợ rộng lớn
+ Tương thích PHP4 và PHP5
+ Mô hình MVC
+ Đa ngôn ngữ
+ Sinh code tự động
+ Caching
+ Phân quyền (ACL)
+ Kiểm tra ràng buộc dữ liệu
+ Xây dựng nhiều thư viện hỗ trợ cho View như: Ajax, HTML Form, Javascript…
+ Xây dựng nhiều thư viện hỗ trợ cho Controller: Email, Security, Session, Cookies,
+ Request Handling
+ Dễ dàng viết thêm thư viện hỗ trợ, liên kết với ứng dụng khác (thông qua vendors)
+ Đa giao diện
+ Hỗ trợ nhiều hệ quản trị CSDL
2. Cài đặt Cakephp
– Trong bài viết hướng dẫn người dùng các cài đặt CakePHP,
– Ở đây tôi dùng CakePHP ver2.6.8 webserver XAMPP tích hợp Mysql và Apache.

– Yêu cầu hệ thống :
+ Hệ điều hành Windown hoặc Linux
+ Hệ quản trị CSDL MySQL
– Chuẩn bị cài đặt :
+ Tải phiên bản CakePHP  từ địa chỉ:
+ https://github.com/cakephp/cakephp/tags
+ Giải nén, cho vào thư mục của web server
+ Trong ví dụ này thư mục webser góc của tôi là :C://xampp/htdocs
+ Vậy ta có cấu trúc như sau :C://xampp/htdocs/cakephp
cakephp_01

Screen Shot 2015-08-24 at 10.09.27 AM

Cài đặt CakePHP thành công :
– Chmod thư mục app/tmp thành 777(nếu trên host, còn localhost thì khỏi cần)
– Mở file app/config/core.php
– Thay đổi giá trị của dòng Configure::write(‘Security.salt’, ‘DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi2010‘ );
– Thay đổi giá trị của dòng Configure::write(‘Security.cipherSeed’, ‘768593096574535424967496836452011‘);
– Tạo csdl với tên:cake_test
Mở file app/config/database.php, điền như sau:

var $default = array( 'driver' ='mysql')

'persistent' = false,

'host' => 'localhost',
'login' => 'root',
'password' => 'my_password',
'database' => cakephp_test',
'prefix' => '',
);
?>

Bạn cần thay đổi các mục in đậm cho phù hợp với cấu hình trên máy bạn.
3. Cấu trúc thư mục CakePHP

Sau khi tải và giải nén CakePHP, bạn có thể thấy các files và thư mục sau :
-app: là nơi chứa mã nguồn ứng dụng của bạn (phần này quang trọng)
-cake: là nơi chứa mã nguồn của CakePHP. Bạn không nên chỉnh sửa các files trong thư mục này nếu bạn không hiểu rõ về chúng
-vendors: chứa ứng dụng của bên thứ 3, phục vụ cho ứng dụng của bạn
-plugins: chứa các thành phần mở rộng dùng cho ứng dụng
Screen Shot 2015-08-24 at 10.46.56 AM
Ghi chú :
– Config Chứa file cấu hình hệ thống
– Controllers Chứa các controller và component
– Locale Chứa file ngôn ngữ , phục vụ cho ứng dụng đa ngôn ngữ
– Molels Chứa file Model và behavor, datasource
– Plugins Chứa các gói mở rộng
– TmpThư mục tạm của ứng dụng
– Vendors Chứa ứng dụng của bên thứ 3
– Views Chứa các file giao diện
– Webroot Chứa tài liệu (hình ảnh,file..), file CSS , file javascript…

4. Kiến trúc CakePHP
– CakePHP hoạt động theo mô hình MVC
– Mô hình này chia ứng dụng ra làm 3 phần chính:
+ Model
+ View
+ Controller
Trong bài viết này giúp người đọc hiểu được cách hoạt động chung của CakePHP trên mô hình MCV, ở những phần sau sẽ đi vào chi tiết hơn về cách sử dụng của CakePHP.
cakephp_04
– Ví dụ về mô hình MVC căn bản :
+ Ta có liên kếthttp://abc.com/product/view/10
+ User A click vào 1 liên kết có dạnghttp://abc.com/products/view/10thì :
+ Trình duyệt sẽ gởi yêu cầu tới server
+ Bộ phận điều vận Dispatcher(một thành phần của CakePHP) kiểm tra phần tử products/view/10 và gởi yêu cầu tới controller tương
+ Tham số thứ 1 : ta có Controllerproduct
+ Tham số thứ 2 : ta cóviewlà tên của 1 action của Controllerproductsẽ được gọi để thực thi 1 hành động nào đó
+ Tham số thứ 3 : ta có 1 giá trị 10, thông thường tham số thứ 3 có thểm có hoặc không, tùy vào mục đích sử dụng, ở đây tôi có tham số = 10 để xem sản phẩm cóid = 10

Mô tả bằng lời qua ví dụ trên :

Vào địa chỉ http://abc.com/ để xem sản phẩm có id=10
Tại sao lại dùng mô hình MVC?
– Vì nó giúp chúng ta xây dựng ứng dụng nhanh chóng
– Dễ bảo trì, module hóa
– MVC tách các tác vụ của ứng dụng thành các thành phần riêng lẻ, giúp ta dễ dàng thêm mới (hoặc thay đổi) các tính năng mà không làm ảnh hưởng đến các thành phần khác.

Gửi bình luận bằng Facebook