Посібник CakePHP для початківців: що таке CakePHP Framework?
⚡ Розумний підсумок
У цьому посібнику пояснюється фреймворк PHP з відкритим кодом для швидкої розробки веб-додатків на основі MVC. У цьому посібнику пояснюється, що таке CakePHP, чому команди його обирають, як його встановити, структура та конфігурація його папок, правила іменування, а також як шаблон Model-View-Controller керує застосунком CakePHP.

Що таке CakePHP?
CakePHP — це фреймворк з відкритим кодом для швидкої розробки та підтримки веб-додатків, побудованих на PHP. Він базується на концепції архітектури MVC, яка допомагає легко та просто створювати веб-додатки на PHP з меншою кількістю коду. CakePHP також допомагає відокремити бізнес-логіку від рівня даних та рівня представлення.
Навіщо використовувати CakePHP Framework?
Ось основні переваги/плюси використання фреймворку CakePHP:
- CakePHP є, безумовно, однією з найшвидших платформ для веб-розробки.
- CakePHP дозволяє розробникам отримати розширений контроль над базою даних і запитами SQL.
- Це допомагає користувачам швидко розробляти надійні веб-додатки, не втрачаючи гнучкості середовища.
- Підтримка PostgreSQL, SQLite, MySQL, а PEAR-DB для ADODB, база даних abstracбібліотека.
- Сприяє зручності для пошукових систем URLs.
- Надає такі функції, як інструменти перевірки вводу та санітарної обробки, що роблять програму безпечною.
- Шаблонування зі знайомим синтаксисом PHP.
Як встановити CakePHP
Рекомендований спосіб встановлення CakePHP – за допомогою Composer, менеджера залежностей PHP. Після встановлення Composer виконайте команду нижче, щоб створити новий скелет проекту.
composer create-project --prefer-dist cakephp/app:~5.0 my_app
Команда завантажує CakePHP та його залежності в папку з назвою my_app. Потім ви можете запустити вбудований сервер за допомогою bin/cake server та відкрийте http://localhost:8765 у вашому браузері. Зверніть увагу, що для CakePHP 5 потрібна PHP 8.1 або пізніша версія.
Історія CakePHP
Тепер у цьому посібнику з CakePHP ми розглянемо історію фреймворку CakePHP:
| рік | Віха |
|---|---|
| 2005 | CakePHP був розроблений Міхалом Татариновичем 15 квітня 2005 року. |
| 2005 | CakePHP опублікував його під ліцензією MIT та відкрив для спільноти розробників. |
| 2005 | Ларрі Е. Мастерс став провідним розробником. |
| 2006 | Була випущена версія 1.0. |
| 2011 | Була випущена версія 2. |
| 2014 | Була випущена версія 3, повністю переписана з попередніх версій. |
| 2016 | Версія 3.3 CakePHP була випущена з багатьма розширеними функціями. |
| 2019 | Була випущена версія 4.0, яка модернізувала фреймворк. |
| 2023 | Було випущено CakePHP 5.0, для роботи якого потрібна PHP 8.1 або пізніша версія. Поточна версія, випущена у 2026 році, — CakePHP 5.3.x. |
Особливості CakePHP
Ось важливі функції CakePHP.
- Активна, дружня спільнота
- Архітектура MVC
- Вбудована перевірка
- Працює з будь-якого каталогу веб-сайту, з деякими налаштуваннями Apache або без них.
- Двигун шаблонів
- Операції кешування
- Проста взаємодія з базою даних CRUD
- Обробка таких компонентів, як електронна пошта, файли cookie, безпека, сесія та запит
- Переглянути помічників для JavaScript, Ajax, HTML-форми та багато іншого
CakePHP - Структура папок
У цьому підручнику з фреймворку CakePHP ми дізнаємося про структуру папок CakePHP.
Нижче наведено структуру папок CakePHP:
| Папка | Опис |
|---|---|
| Випробування | Ця папка містить тестові випадки для вашої програми. |
| Tmp | Папка tmp зберігає тимчасові дані. |
| Продавець | У цій папці встановлено CakePHP та інші залежності програм. |
| Webroot | Webroot зберігає всі файли, які ви хочете зробити загальнодоступними. |
| Відро для сміття | Папка bin містить виконувані файли консолі Cake. |
| Logs | Він містить ваші файли журналів, які залежать від конфігурації журналів. |
| конфиг | Папка config зберігає файли конфігурації, які використовує CakePHP. |
| Плагіни | Тут зберігаються плагіни, які використовує ваша програма. |
| старший | Він містить код вашої програми, такий як контролери, сутності та поведінку. Локаль зберігає рядкові файли для інтернаціоналізації, а Модель містить таблиці, сутності та поведінку вашої програми. |
Конфігурація CakePHP
За замовчуванням CakePHP поставляється з одним файлом конфігурації. Це також дозволяє модифікувати його відповідно до ваших вимог. Для цього існує папка під назвою «config».
| Назва змінної | Опис |
|---|---|
| Debug | Дозволяє змінювати вихід налагодження CakePHP. |
| App.namespace | Допомагає знайти класи програми. |
| App.baseUrl | Скасуйте коментарі до цього ключового слова, якщо ви не хочете використовувати mod_rewrite Apache з CakePHP. |
| Кодування програми | Дозволяє визначити кодування, яке використовує ваша програма. |
| App.base | Це базовий каталог, у якому знаходиться програма. Якщо значення «false», це буде визначено автоматично. |
| App.fullBaseUrl | Повне доменне ім'я. |
| App.webroot | Це каталог webroot. |
| App.wwwRoot | Шлях файлу до webroot. |
| App.jsBaseUrl | Шлях до загальнодоступного каталогу js. |
| App.paths | Налаштування шляхів для ресурсів, не заснованих на класах. |
| App.cssBaseUrl | Це веб-шлях до публічного каталогу css у розділі webroot. |
| Безпека.соль | Це випадковий рядок, який використовується для хешування. |
| Asset.timestamp | Ця змінна додає позначку часу під час використання відповідних помічників. |
Cake – Правила іменування PHP
У Cake перевага надається конвенції, а не конфігурації. Конвенція про іменування дозволяє організувати роботу веб-застосунку. У цьому методі більше одного слова в назві має бути розділене символом «_» під час найменування файлу та верблюжим регістром під час найменування класу.
Частини MVC повинні відповідати синтаксису, наведеному нижче:
| File Name | Назва класу | Назва базового класу | Місце проведення | |
|---|---|---|---|---|
| Модель | Однина назви таблиці з розширенням .php, наприклад: order.php | Ім'я файлу, у верблюжому регістрі, наприклад: Order | AppModel | /app/models |
| контролер | tablename_controller з розширенням .php, наприклад: orders_controller.php | Ім'я таблиці, до якого додається Controller, наприклад: OrdersController | AppController | /app/controllers |
| вид | Назва дії в контролері з розширенням .ctp, наприклад: add.ctp | Немає класів; представлення містить теги HTML та PHP. | /app/views/ім'я контролера |
Конфігурація баз даних
CakePHP дозволяє налаштувати базу даних у config/app.php файл. Він забезпечує з’єднання за замовчуванням із заданими параметрами, які ви можете змінити на свій розсуд.
Нижче наведено важливі параметри:
| Параметр | Опис |
|---|---|
| порт (необов'язково) | Порт TCP або сокет Unix, який використовується для підключення до сервера. |
| Часовий пояс | Часовий пояс сервера для встановлення. |
| схема | Це допоможе вам визначити, яку схему ви можете використовувати. |
| unix_socket | Використовується драйверами для підключення через файли сокетів Unix. |
| ssl_key | Це шлях до файлу ключа SSL. |
| ssl_cert | Це шлях до файлу SSL-сертифіката. |
| ssl_ca | Це шлях до файлу центру сертифікації SSL. |
| Ввійти | Цей термін допомагає вам виконувати журналювання запитів. |
| В цьому | Список запитів, які слід надсилати на сервер бази даних кожного разу, коли створюється з’єднання. |
| Ідентифікатори цитат | Встановіть значення «true», якщо ви хочете використовувати зарезервовані слова або спеціальні символи. |
Як MVC працює в CakePHP?
Тепер ми дізнаємося, як MVC працює в CakePHP, у цьому посібнику з фреймворку CakePHP.
Це динамічний спосіб побудови основного механізму веб-застосунку. Модель, вигляд та контролер є окремими один від одного.

CakePHP розділяє операції на три частини:
- Моделі: використовуються для всіх взаємодій з базою даних.
- Перегляди: Використовується для всіх виводів і дисплеїв.
- Контролери: Використовуються для керування потоком роботи програми.
Ось кроки для використання архітектури MVC у CakePHP:
Крок 1) Клієнт або користувач взаємодіє з представленням.
Крок 2) Представлення сповіщає контролер про конкретну подію.
Крок 3) Контролер надсилає запит до бази даних до моделі та оновлює модель.
Крок 4) Модель сповіщає вигляд про те, що вона змінилася.
Крок 5) Представлення отримує дані моделі та оновлюється відповідно до отриманих даних.
Навіщо використовувати MVC?
- CakePHP MVC допомагає вам відокремити бізнес-логіку від презентації та пошуку даних.
- Сайт розділений на логічні розділи, якими ви можете керувати за допомогою певного контролера.
- Під час тестування та налагодження програми будь-який розробник може знаходити та виправляти помилки, не маючи повної інформації про код.
Недоліки використання фреймворку CakePHP
- Документаційна підтримка CakePHP не така повна, як мала б бути.
- Щоб використовувати CakePHP, розробнику потрібно оновити маршрути за замовчуванням для створення вишуканих URLs, що вимагає більше роботи порівняно з деякими іншими PHP-фреймворками.
- CakePHP використовує односторонню маршрутизацію порівняно з іншими фреймворками.
- Вивчення PHP Фреймворк не завжди простий для початківців.
- Одностороння маршрутизація є ще одним недоліком у порівнянні з такими фреймворками, як Ruby on Rails.
