PHP Online

CakePHP Framework

CakePHP Framework: Cho người mới bắt đầu

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.
 
Một số tính năng 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
 
Cài đặt Cake PHP

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 ver1.36 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 mới nhất (1.3.6 stable) từ địa chỉ:
http://github.com/cakephp/cakephp/archives/1.3
- 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 Cho người mới bắt đầu
CakePHP Cho người mới bắt đầu
Cài đặt CakePHP thành công :
- Chmod thư mụcapp/tmpthành0777(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:
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.
 
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
CakePHP Cho người mới bắt đầu
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…
 
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 Cho người mới bắt đầu
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ậnDispatcher(một thành phần của CakePHP) kiểm tra phần tửproducts/view/10và 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.

(Thái Thanh Phong)
60112
Bạn vẫn chưa hiểu rõ vấn đề ?. Bạn vẫn còn nhiều điều thắc mắc ?. Bạn gặp lỗi khi thực hành mã lệnh trên ?. Hãy tham gia diễn đàn QHOnline.Info để nhận được sự giúp đỡ từ phía cộng đồng nhanh nhất. Đồng thời tải những tài liệu giá trị tại diễn đàn. Việc đăng ký là hoàn toàn miễn phí, hãy đăng ký ngay để chúng tôi giúp đỡ bạn nhé.

Ghi rõ nguồn từ website QHOnline.Info - Khi bạn phát hành lại thông tin từ website này

Ý kiến cho bài viết này.