Hướng dẫn CakePHP cho người mới bắt đầu: CakePHP Framework là gì?
Tóm tắt hướng dẫn CakePHP
Trong hướng dẫn CakePHP này, chúng ta sẽ tìm hiểu tất cả các khái niệm cơ bản từ đầu. Hướng dẫn này bao gồm định nghĩa, Lịch sử, Tính năng, Cấu trúc và cấu hình thư mục của CakePHP cũng như chi tiết ngắn gọn về cách hoạt động của khung CakePHP.
CakePHP là gì?
CakePHP là một khuôn khổ mã nguồn mở để phát triển và bảo trì nhanh chóng các ứng dụng web được xây dựng trong PHP. Nó dựa trên khái niệm kiến trúc MVC, giúp xây dựng các ứng dụng web PHP dễ dàng và đơn giản với ít mã hơn. CakePHP cũng giúp bạn tách logic kinh doanh khỏi lớp dữ liệu và lớp trình bày.
Tại sao nên sử dụng Khung CakePHP?
Dưới đây là những lợi ích/ưu điểm chính của việc sử dụng khung CakePHP:
- Cake PHP cho đến nay là một trong những nền tảng phát triển web nhanh nhất.
- CakePHP cho phép các nhà phát triển giành được quyền kiểm soát nâng cao đối với cơ sở dữ liệu và các truy vấn SQL.
- Nó giúp người dùng phát triển các ứng dụng web mạnh mẽ mà không làm mất đi tính linh hoạt của môi trường một cách nhanh chóng.
- Hỗ trợ cho PostgreSQL, SQLite, MySQL, PEAR-DB cho ADODB, một thư viện trừu tượng hóa cơ sở dữ liệu.
- Tạo điều kiện cho các URL thân thiện với công cụ tìm kiếm
- Cung cấp các tính năng như công cụ xác thực đầu vào và dọn dẹp giúp ứng dụng trở nên an toàn.
- Tạo khuôn mẫu với cú pháp PHP quen thuộc
Lịch sử của CakePHP
Bây giờ trong hướng dẫn CakePHP này, chúng ta sẽ đề cập đến lịch sử của khung CakePHP:
Năm | Milestone |
---|---|
2005 | CakePHP được phát triển bởi Michal Tatarynowicz vào ngày 15 tháng 2005 năm XNUMX. |
2005 | CakePHP đã xuất bản nó theo giấy phép MIT và mở rộng cho các nhà phát triển cộng đồng. |
2005 | Larry E Masters đảm nhận vai trò nhà phát triển chính. |
2006 | Phiên bản 1.0 đã được phát hành |
2011 | Phiên bản 2 đã được phát hành |
2014 | Phiên bản 3 được phát hành đã thu hồi hoàn toàn các phiên bản trước đó. |
2016 | Phiên bản 3.3.3. Of CakePHP được phát hành với nhiều tính năng nâng cao. |
2019 | Phiên bản 3.7.9 là phiên bản cuối cùng được phát hành |
2021 | Nhóm cốt lõi của CakePHP thông báo về sự sẵn có ngay lập tức của CakePHP 4.2.2 |
Tính năng của CakePHP
Dưới đây là các tính năng quan trọng của CakePHP.
- Cộng đồng năng động, thân thiện
- Kiến trúc MVC
- Xác thực tích hợp
- Hoạt động từ bất kỳ thư mục trang web nào, có liên quan đến một số hoặc không có cấu hình Apache.
- Công cụ tạo khuôn mẫu
- Bộ nhớ đệm Operations
- Tương tác cơ sở dữ liệu CRUD dễ dàng.
- Xác thực tích hợp
- Xử lý các thành phần như Email, Cookie, Bảo mật, Phiên và Yêu cầu
- Xem người trợ giúp cho JavaScript, Ajax, Biểu mẫu HTML và hơn thế nữa
CakePHP- Cấu trúc thư mục
Bây giờ trong hướng dẫn về khung CakePHP này, chúng ta sẽ tìm hiểu về cấu trúc thư mục CakePHP.
Dưới đây là cấu trúc thư mục của CakePHP:
Thư mục | Mô tả |
---|---|
Kiểm tra | Thư mục này chứa các trường hợp thử nghiệm cho ứng dụng của bạn. |
tmp | Thư mục tạm thời lưu trữ dữ liệu tạm thời. |
Nhà cung cấp | Thư mục này giúp bạn lưu trữ CakePHP và các phụ thuộc ứng dụng khác sẽ được cài đặt. |
Webroot | Webroot lưu trữ tất cả các tệp bạn muốn có thể truy cập công khai. |
Bin | Thư mục bin chứa các tệp thực thi của bảng điều khiển Cake. |
Logs | Nó chứa các tệp nhật ký của bạn, tùy thuộc vào cấu hình nhật ký của bạn. |
Config | Thư mục config lưu trữ các file cấu hình mà CakePHP sử dụng |
bổ sung | Thư mục này chứa các Plugin cho ứng dụng. là nơi lưu trữ các Plugin mà ứng dụng của bạn sử dụng. |
Sr. | Nó chứa một tác vụ trên bảng điều khiển và các lệnh để quản lý ứng dụng của bạn.
Locale Lưu trữ các tệp chuỗi để quốc tế hóa. Model Chứa các bảng, thực thể và hành vi của ứng dụng của bạn. |
Cấu hình của CakePHP
CakePHP đi kèm với một tệp cấu hình theo mặc định. Nó cũng cho phép bạn sửa đổi nó theo yêu cầu của bạn. Có một thư mục tên là “config” được cung cấp cho mục đích này.
Tên biến | Mô tả |
---|---|
Gỡ lỗi | Cho phép bạn thay đổi đầu ra gỡ lỗi CakePHP. |
Không gian tên ứng dụng | Giúp bạn tìm các lớp ứng dụng bên dưới. |
Url ứng dụng.base | Bỏ nhận xét từ khóa này khi bạn không muốn sử dụng mod_rewrite của Apache với CakePHP. |
Mã hóa ứng dụng | Lệnh này cho phép bạn Xác định loại mã hóa mà ứng dụng của bạn sử dụng. |
Ứng dụng.base | Đây là thư mục cơ sở chứa ứng dụng. Nếu sai, thư mục này sẽ được tự động phát hiện. |
App.fullBaseUrl | Tên miền đủ điều kiện |
Ứng dụng.webroot | Nó là một thư mục webroot. |
App.wwwRoot | Đường dẫn tập tin đến webroot. |
App.jsBaseUrl | Đường dẫn đến thư mục js công khai. |
Đường dẫn ứng dụng | Định cấu hình đường dẫn cho các tài nguyên không dựa trên lớp. |
App.cssBaseUrl | Đó là một đường dẫn web tới thư mục css công khai trong webroot. |
Bảo mật.salt | Nó là một chuỗi ngẫu nhiên được sử dụng trong băm. |
Nội dung.timestamp | Biến này cho phép bạn thêm dấu thời gian khi sử dụng trình trợ giúp thích hợp. |
Quy ước đặt tên Cake- PHP
Cake tuân theo ý tưởng quy ước về cấu hình. Phương pháp quy ước đặt tên cho phép bạn tổ chức hoạt động của ứng dụng web. Trong phương pháp này, nhiều từ trong tên phải được phân tách bằng “_” khi đặt tên tệp và viết hoa chữ lạc đà khi đặt tên lớp.
Các phần MVC phải tuân theo cú pháp dưới đây:
File Name | Tên lớp | Tên lớp cơ sở | Địa điểm | |
---|---|---|---|---|
Mô hình | File Name Dạng số ít của tên bảng có phần mở rộng .php, ví dụ: order.php |
Tên tệp trong trường hợp Camel, ví dụ: Order | Mô hình ứng dụng | /ứng dụng/mô hình |
Người điều khiển | tablename_controller có phần mở rộng .php, ví dụ: ordcrs_controllcr.php | Tên bảng được thêm vào Bộ điều khiển, ví dụ: OrdcrsController | Trình điều khiển ứng dụng | /ứng dụng/bộ điều khiển |
Xem | Tên hành động trong bộ điều khiển có phần mở rộng .ctp, ví dụ: add.ctp | Không có lớp học; a xem c thẻ HTML và PHP. ' | /app/vuews/tên bộ điều khiển |
Cấu hình cơ sở dữ liệu
CakePHP cho phép bạn định cấu hình Cơ sở dữ liệu trong config/app.php tài liệu. Nó cung cấp kết nối mặc định với các tham số được cung cấp mà bạn có thể sửa đổi theo lựa chọn của mình.
Các thông số quan trọng được đưa ra dưới đây:
Cơ sở dữ liệu | Tên cơ sở dữ liệu |
---|---|
cổng (tùy chọn) mã hóa |
Cổng TCP hoặc ổ cắm Unix được sử dụng để kết nối với máy chủ. |
Múi giờ | Múi giờ của máy chủ cần đặt. |
Schema | Nó giúp bạn chỉ định lược đồ nào bạn có thể sử dụng. |
unix_socket | Cơ sở dữ liệu này được trình điều khiển sử dụng để kết nối thông qua các tệp ổ cắm Unix. |
Khóa SSL | Đó là đường dẫn tệp đến tệp khóa SSL. |
ssl_cert | Đó là đường dẫn tệp đến tệp chứng chỉ SSL. |
ssl_ca | Đó là đường dẫn tệp đến cơ quan cấp chứng chỉ SSL. |
Khúc gỗ | Thuật ngữ này giúp bạn thực hiện ghi nhật ký truy vấn. |
Trong đó | Danh sách các truy vấn sẽ được gửi đến máy chủ cơ sở dữ liệu bất cứ khi nào kết nối được tạo. |
Đặt thành true nếu bạn muốn sử dụng các từ dành riêng hoặc ký tự đặc biệt |
MVC hoạt động như thế nào trong CakePHP?
Bây giờ, chúng ta sẽ tìm hiểu cách MVC hoạt động trong CakePHP trong hướng dẫn về khung CakePHP này.
Đó là một cách năng động để xây dựng cơ chế chính của ứng dụng web. Mô hình, khung nhìn và Bộ điều khiển - tách biệt với nhau.

Cake PHP chia hoạt động thành ba phần:
- Mô hình: Được sử dụng cho tất cả các tương tác cơ sở dữ liệu.
- Lượt xem: Được sử dụng cho tất cả đầu ra và màn hình.
- Bộ điều khiển: Được sử dụng để kiểm soát luồng ứng dụng
Sau đây là các bước sử dụng kiến trúc MVC trong CakePHP:
Bước 1) Khách hàng hoặc người dùng tương tác với chế độ xem
Bước 2) Xem bộ điều khiển cảnh báo của sự kiện cụ thể.
Bước 3) Nó gửi yêu cầu cơ sở dữ liệu tới Model và Controller cập nhật mô hình.
Bước 4) Chế độ xem cảnh báo mô hình rằng nó đã thay đổi.
Bước 5) View nhận dữ liệu mô hình và tự cập nhật theo dữ liệu nhận được.
Tại sao nên sử dụng MVC?
- CakePHP MVC giúp bạn tách logic nghiệp vụ khỏi việc trình bày và truy xuất dữ liệu.
- Trang web được chia thành các phần logic mà bạn có thể quản lý bằng bộ điều khiển cụ thể.
- Khi thử nghiệm và gỡ lỗi ứng dụng, bất kỳ nhà phát triển nào cũng giúp bạn xác định vị trí và sửa lỗi mà không cần biết đầy đủ thông tin về mã.
Nhược điểm của việc sử dụng khung CakePHP
- Các tài liệu hỗ trợ của CakePHP không đầy đủ như mong đợi.
- Để sử dụng phần mềm CakePHP, nhà phát triển cần cập nhật các tuyến mặc định để tạo URL ưa thích, công việc này hiệu quả hơn rất nhiều so với các khung PHP khác.
- Định tuyến một chiều của CakePHP so với các khung công tác khác.
- Học PHP khuôn khổ không hề dễ dàng.
- Cung cấp định tuyến một chiều là một nhược điểm khác khi so sánh với các framework như Ruby on Rails.
Tổng kết
- CakePHP là một framework mã nguồn mở giúp phát triển và bảo trì các ứng dụng PHP dễ dàng hơn nhiều.
- CakePHP cho phép các nhà phát triển giành được quyền kiểm soát nâng cao đối với cơ sở dữ liệu và các truy vấn SQL.
- Nó được phát triển bởi Michal Tatarynowicz Vào ngày 15 tháng 2005 năm XNUMX
- Kiến trúc MVC và xác thực tích hợp là những tính năng quan trọng nhất của CakePHP
- Theo mặc định, CakePHP đi kèm với một tệp cấu hình duy nhất cho phép bạn sửa đổi nó theo yêu cầu của mình.
- Phương thức quy ước đặt tên của CakePHP cho phép bạn tổ chức hoạt động của ứng dụng web.
- CakePHP cho phép bạn định cấu hình Cơ sở dữ liệu trong tệp config/app.php.
- Cake PHP chia các hoạt động MVC thành ba phần:
- Mô hình: Được sử dụng cho tất cả các tương tác cơ sở dữ liệu, Chế độ xem: Được sử dụng cho tất cả đầu ra và hiển thị, Bộ điều khiển: Được sử dụng để kiểm soát luồng ứng dụng
- Ưu điểm lớn nhất của việc sử dụng MVC trong CakePHP là nó giúp bạn tách biệt logic nghiệp vụ khỏi việc trình bày và truy xuất dữ liệu.
- Hạn chế lớn nhất của CakePHP là hỗ trợ tài liệu của CakePHP không toàn diện như mong muốn.