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.

Kiến trúc MVC trong CakePHP
Kiến trúc MVC trong CakePHP

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.