Hướng dẫn học: CakePHP cho người mới bắt đầu

Hướng dẫn học: CakePHP cho người mới bắt đầu

CakePHP :

  • • Là một framework mã nguồn mở ,miễn phí
  • • Sử dụng ngôn ngữ lập trình PHP
  • • Xây dựng nhanh một ứng dụng trên nền web.

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ó thể xem thêm bảng so sánh tính năng của các framework phổ biến hiện nay tại đây

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

Truy cập qua địa chỉ web : http://localhost/cakephp

Hướng dẫn học: CakePHP cho người mới bắt đầu

Tới đây xem như cài đặt CakePHP thành công :
- Chmod thư mục app/tmp thành 0777 (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

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
Cấu trúc thư mục app :

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
Tmp Thư 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.

Ví dụ về mô hình MVC căn bản :

Ta có liên kết http://abc.com/product/view/10
- User A click vào 1 liên kết có dạng http://abc.com/products/view/10 thì :

  • 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ó Controller product
- Tham số thứ 2 : ta có view là tên của 1 action của Controller product sẽ đượ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.

Có rất nhiều cộng đồng chia sẽ về CakePHP vd như :

1. http://www.cakephp.org/   Trang chủ của CakePHP, cung cấp thông tin mới nhất về các phiên bản của Cake, link download mã nguồn, ebooks cùng nhiều dịch vụ khác liên quan
2. http://book.cakephp.org/  Hướng dẫn sử dụng CakePHP
3. http://bakery.cakephp.org/  Bài hướng dẫn, mã nguồn liên quan tới CakePHP
4. http://api.cakephp.org/   Thư viện API của CakePHP
5. http://www.cakeforge.org/  Nơi chia sẻ các dự án thực hiện bằng CakePHP
6. Kênh IRC server: irc.freenode.net. Với 3 nick: cakephp, cakephp-docs, cakephp-bakery
7. http://groups.google.com/group/cake-php  Bạn cũng có thể lên đây để hỏi về CakePHP
8. http://www.cakephpforum.net/  Diễn đàn về CakePHP

Tags: 
Bạn thấy bài viết này như thế nào?: 
Average: 7.3 (10 votes)
Ảnh của Khanh Hoang

Khanh Hoang - Kenn

Kenn is a user experience designer and front end developer who enjoys creating beautiful and usable web and mobile experiences.

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
Gigan JSC - Number Talks & Number Works

Gigan JSC - Cách lấy hóa đơn từ quảng cáo Google, Facebook

Rất nhiều Startup Việt Nam và cả doanh nghiệp lớn gặp phải lúng túng trong việc hợp thức hóa chi phí quảng cáo Google và Facebook vào báo cáo tài chính cho doanh nghiệp.

Mark Carver đã design xong cho Drupal Community trên Drupal.org

Mark Carver đã design xong cho Drupal Community trên Drupal.org

The styling changes on Drupal.org are a nice improvement, mostly because it is a regular reminder about the individuals who are pushing to make Drupal better

Thủ thuật SEO Factors cho Drupal 7 trong năm 2014

Thủ thuật SEO Factors cho Drupal 7 trong năm 2014

Now, with all the usual caveats about correlations not equaling causation, here’s a list of their top correlated ranking factors that can be influenced with

Công ty diệt chuột T&C

 

Diet con trung