Посібник CakePHP для початківців: що таке CakePHP Framework?

⚡ Розумний підсумок

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

  • 🎂 Що таке CakePHP: CakePHP — це MVC-фреймворк з відкритим кодом, який створює та підтримує веб-додатки на PHP з меншою кількістю коду.
  • ⚡ Навіщо це використовувати: Він пропонує швидку розробку, базу даних abstracція, вбудована перевірка та зручність для пошукових систем URLз коробки.
  • 📦 Установка: Composer встановлює CakePHP за допомогою однієї команди create-project; поточна версія 5 вимагає PHP 8.1 або пізнішої версії.
  • 📁 Структура папки: Очищені папки розділяють вихідний код, конфігурацію, тести, журнали, плагіни та публічний веб-кореневий каталог для зручності обслуговування.
  • 🔤 Конвенції: Узгодженість замість конфігурації означає узгоджене найменування моделей, контролерів та представлень, що зменшує шаблонність.
  • 🔁 Потік MVC: Моделі обробляють дані, представлення обробляють вивід, а контролери маршрутизують потік, зберігаючиping проблеми чітко розділені.
  • 🤖 AI Assist: Інструменти штучного інтелекту можуть створювати каркаси CRUD-додатків CakePHP та допомагати переносити старіший проект CakePHP до версії 5.

Підручник 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.

Це динамічний спосіб побудови основного механізму веб-застосунку. Модель, вигляд та контролер є окремими один від одного.

Архітектура MVC у CakePHP
Архітектура MVC у CakePHP

CakePHP розділяє операції на три частини:

  • Моделі: використовуються для всіх взаємодій з базою даних.
  • Перегляди: Використовується для всіх виводів і дисплеїв.
  • Контролери: Використовуються для керування потоком роботи програми.

Ось кроки для використання архітектури MVC у CakePHP:

Крок 1) Клієнт або користувач взаємодіє з представленням.

Крок 2) Представлення сповіщає контролер про конкретну подію.

Крок 3) Контролер надсилає запит до бази даних до моделі та оновлює модель.

Крок 4) Модель сповіщає вигляд про те, що вона змінилася.

Крок 5) Представлення отримує дані моделі та оновлюється відповідно до отриманих даних.

Навіщо використовувати MVC?

  • CakePHP MVC допомагає вам відокремити бізнес-логіку від презентації та пошуку даних.
  • Сайт розділений на логічні розділи, якими ви можете керувати за допомогою певного контролера.
  • Під час тестування та налагодження програми будь-який розробник може знаходити та виправляти помилки, не маючи повної інформації про код.

Недоліки використання фреймворку CakePHP

  • Документаційна підтримка CakePHP не така повна, як мала б бути.
  • Щоб використовувати CakePHP, розробнику потрібно оновити маршрути за замовчуванням для створення вишуканих URLs, що вимагає більше роботи порівняно з деякими іншими PHP-фреймворками.
  • CakePHP використовує односторонню маршрутизацію порівняно з іншими фреймворками.
  • Вивчення PHP Фреймворк не завжди простий для початківців.
  • Одностороння маршрутизація є ще одним недоліком у порівнянні з такими фреймворками, як Ruby on Rails.

Поширені запитання

Так, для підтримки існуючих проєктів CakePHP та для команд, які цінують його підхід, що ставить конвенції вище за конфігурацію. Laravel та Symfony мають більші спільноти, але CakePHP 5 активно підтримується та залишається надійним, продуктивним фреймворком.

Обидва є MVC PHP фреймворками. Laravel має більшу екосистему, виразний синтаксис та Eloquent ORM. CakePHP робить акцент на суворих конвенціях та швидкому скатуванні з меншою кількістю налаштувань. Laravel популярніший; CakePHP може бути швидшим для запуску звичайного додатку.

CakePHP 5, поточна основна версія, вимагає PHP 8.1 або пізнішої версії. Старіша CakePHP 4 підтримувала PHP 7.4 і вище, але її термін підтримки наближається до кінця, тому нові проекти повинні орієнтуватися на CakePHP 5 у сучасній версії PHP.

Так. Штучний інтелект може генерувати міграцію, сутність, таблицю, контролер та шаблони для ресурсу CRUD, дотримуючись домовленостей CakePHP, а також пояснювати консольні команди Bake. Revпереглянути правила перевірки та протестувати кожну дію.

Так. Штучний інтелект може позначати застарілі методи, оновлені простори імен та зміни сигнатур, а також пропонувати заміни крок за кроком. Оскільки міграції є великими, оновлюйте їх поступово та запускайте набір тестів після кожної зміни.

Підсумуйте цей пост за допомогою: