Xin chào các bạn, đợt vừa rồi mình mới bắt đầu tìm hiểu về CakePHP Framework của PHP, nên mình muốn viết lại 1 bài blog nhỏ, vừa là để tự tổng hợp lại các kiến thức đã tìm hiểu được, vừa là để chia sẻ với 1 số bạn cũng mới bắt đầu tìm hiểu về CakePHP như mình.

Ở bài blog này mình chỉ trình bày những thông tin cơ bản nhất về CakePHP, chủ yếu mang tính chất giới thiệu và khái quát về CakePHP Framework. Bài viết chắc chắn sẽ còn nhiều chỗ thiếu sót và chưa đầy đủ. Rất mong các bạn cùng đọc, cùng chia sẻ để cùng tìm hiểu thêm về CakePHP với mình nhé.

CakePHP Framework là gì?

Ngay từ tên gọi chắc các bạn cũng đã đoán ra được ngay. CakePHP là 1 Framework của ngôn ngữ PHP. Cũng giống như các Framework nổi tiếng khác của PHP như Laravel, Yii2, Zend, vv … CakePHP giúp các developer có thể xây dựng các Website 1 cách nhanh chóng và thuận tiện hơn rất nhiểu với mô hình Web MVC chuẩn.

Cũng giống như hầu hết các Framework Web hiện đại ngày nay, CakePHP được xây dựng theo mô hình MVC. Trong đó M là viết tắt của Model, đóng vai trò chính trong việc tương tác với Database và các logic liên quan đến Database, V là viết tắt của View, chiụ trách nhiệu về việc hiển thị các giao diện trực quan tới người dùng. Còn C là viết tắt của Controller, đứng giữa M và V, chịu trách nhiệm điều phối, đảm bảo có thể lấy được đúng data theo yêu cầu từ Model và cho hiển thị lên View.

1 số đặc trưng của CakePHP Framework

Đầu tiên, không thể kể đến là CakePHP có hỗ trợ các Helper rất thuận tiện như HTML Hepler, Form Helper, URL Helper giúp xây dựng giao diện View có thể tương tác với Controller của CakePHP rất nhanh chóng. Nhờ các Helper này, chúng ra sẽ không cần phải viết đầy đủ, tỉ mỉ các dòng HTML như thông thường nữa, mà chỉ cần sử dụng các Helper có sẵn của CakePHP và ..... bùmmmmm CakePHP sẽ giúp chúng ta build ra các đoạn HTML chúng ta cần 1 cách đầy đủ, không thừa, không thiếu và đúng chuẩn.

CakePHP cũng hỗ trợ các build các Element nhằm mục đích tái sử dụng nhiều lần. Như các bạn cũng biết, trong 1 trang Web thông thường sẽ có rất nhiều các thành phần giống nhau xuất hiện ở nhiều nơi khác nhau trong trang Web. Ví dụ như Header và Footer của Website, hầu như trong bất cứ page nào đề có 2 thành phần này, và trong phần lớn các trường hợp thì 2 thành phần này luôn giống nhau. Nếu mỗi page của Website chúng ta lại phải code lại Header và Footer thì sẽ rất vất vả và còn làm có code dự án trở nên rất dài và thừa thãi. Việc sử Element của CakePHP sẽ giúp chúng ta giải quyết triệt để vẫn đề trùng lặp code ở trên.

Ngoài ra, CakePHP còn nổi tiếng với việc có 1 bộ naming convention vô cùng chặt chẽ. Tất cả tên của Model, Controller, View, các Function trong CakePHP đều phải được đặt tên theo 1 tiêu chuẩn chặt chẽ mà CakePHP đề ra. Chính nhờ bộ naming convention chặt chẽ này sẽ giúp cho chúng ta cắt giảm được vô số các config dài dòng không đáng có.

Install và setup CakePHP Project

Các bước cài đặt CakePHP đã được mô tả và hướng dẫn rất chi tiết ở trang chủ của CakePHP theo link bên dưới rồi. Các bạn đọc và làm theo thôi là được. Ở đây, mình sẽ chỉ liệt kê ra 1 số điểm chính và 1 số điểm cần lưu ý thôi nhé.

Link trang chủ CakePHP: https://book.cakephp.org/3/en/installation.html

Đầu tiên về mặt môi trường để cài đặt và chạy CakePHP các bạn phải install và chuẩn bị đầy đủ như bên dưới nhé.

  • HTTP Server. For example: Apache.
  • Minimum PHP 5.6 (7.4 supported) --> CakePHP 3
  • mbstring PHP extension
  • intl PHP extension
  • SimpleXML PHP extension
  • PDO PHP extension

Ở đây, các bạn đặc biệt chú ý phải cài đặt đủ các extension của PHP nhé. Nếu chỉ cài PHP thôi thì CakePHP sẽ không chạy đươc nhé.

Tiếp theo, chúng ta có thể bắt đầu tiến hành cài đặt CakePHP được rồi. Có nhiều các để có thể cài đặt CakePHP, nhưng mình thấy cách phổ biến nhất và được recommend nhất là sử dụng Composer. Các bạn làm lần lượt theo các bước bên dưới nhé.

  1. Cài đặt composer
  2. composer create-project --prefer-dist cakephp/app:^3.9 appname
  3. Tạo database
  4. Config database info vào file /config/app_local.php
  5. bin/cake server
Install CakePHP on Ubuntu

Tổng kết

Trong bài viết này mình đã giới thiệu tổng quan về CakePHP và các bước để có thể cài đặt và khởi chạy 1 CakePHP Project đơn giản. Bài viết chắc chắn sẽ còn nhiều chỗ thiếu sót và chưa đầy đủ. Rất mong các bạn cùng đọc, cùng chia sẻ để cùng tìm hiểu thêm về CakePHP với mình nhé. Thanks !!!!