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

Что такое CakePHP?
CakePHP CakePHP — это фреймворк с открытым исходным кодом для быстрой разработки и сопровождения веб-приложений, созданных на PHP. Он основан на концепции архитектуры MVC, что позволяет легко и просто создавать веб-приложения на PHP с меньшим количеством кода. CakePHP также помогает отделить бизнес-логику от слоя данных и слоя представления.
Зачем использовать CakePHP Framework?
Вот основные преимущества использования фреймворка CakePHP:
- CakePHP — это, безусловно, одна из самых быстрых платформ для веб-разработки.
- CakePHP позволяет разработчикам получить расширенный контроль над базой данных и запросами SQL.
- Это помогает пользователям быстро разрабатывать надежные веб-приложения, не теряя при этом гибкости среды.
- Поддержка PostgreSQL, SQLite, MySQLи PEAR-DB для ADODB, абстракция базы данных.tracбиблиотека.
- Способствует оптимизации для поисковых систем. 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 | Вышла вторая версия. |
| 2011 | Вышла вторая версия. |
| 2014 | Вышла третья версия, представляющая собой полную переработку предыдущих версий. |
| 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, безопасность, сессия и запрос.
- Просмотреть вспомогательные функции для JavaСценарий, AjaxHTML-формы и многое другое
CakePHP — структура папок
Теперь в этом руководстве по платформе CakePHP мы узнаем о структуре папок CakePHP.
Ниже приведена структура папок CakePHP:
| Папка | Описание |
|---|---|
| Tests | Эта папка содержит тестовые примеры для вашего приложения. |
| температура | В папке tmp хранятся временные данные. |
| Производитель | В этой папке устанавливаются CakePHP и другие зависимости приложения. |
| Webroot | В корневом каталоге веб-сервера хранятся все файлы, которые вы хотите сделать общедоступными. |
| Мусорное ведро | В папке bin хранятся исполняемые файлы консоли Cake. |
| Журналы | Он содержит ваши файлы журналов, которые зависят от вашей конфигурации ведения журналов. |
| Конфиг | В папке config хранятся конфигурационные файлы, используемые CakePHP. |
| Плагины | Здесь хранятся плагины, используемые вашим приложением. |
| Src | Он содержит код вашего приложения, такой как контроллеры, сущности и поведение. Locale хранит строковые файлы для интернационализации, а Model содержит таблицы, сущности и поведение вашего приложения. |
Конфигурация CakePHP
CakePHP по умолчанию поставляется с одним файлом конфигурации. Это также позволяет вам модифицировать его в соответствии с вашими требованиями. Для этой цели существует папка под названием «config».
| Имя переменной | Описание |
|---|---|
| Отлаживать | Позволяет вам изменить вывод отладки CakePHP. |
| App.пространство имен | Помогает найти занятия по приложению. |
| App.baseUrl | Снимите комментарий с этого ключевого слова, если вы не хотите использовать mod_rewrite Apache с CakePHP. |
| App.encoding | Позволяет определить, какую кодировку использует ваше приложение. |
| База приложений | Это базовый каталог, в котором находится приложение. Если значение равно false, это будет определено автоматически. |
| App.fullBaseUrl | Полное доменное имя. |
| Приложение.webroot | Это корневой каталог веб-сервера. |
| App.wwwRoot | Путь к корневому файлу. |
| App.jsBaseUrl | Путь к публичному каталогу js. |
| App.paths | Настройте пути для ресурсов, не основанных на классах. |
| App.cssBaseUrl | Это путь к общедоступной директории CSS в корневом каталоге веб-сервера. |
| Безопасность.соль | Это случайная строка, используемая при хешировании. |
| Актив.метка времени | Эта переменная добавляет метку времени при использовании соответствующих вспомогательных функций. |
Cake — соглашения об именах PHP
Cake придерживается принципа «соглашение важнее конфигурации». Соглашение об именовании позволяет организовать работу веб-приложения. При этом методе более одного слова в имени файла должно быть разделено символом «_», а при именовании класса используется верблюжий регистр.
Компоненты MVC должны соответствовать синтаксису, указанному ниже:
| Название файла | Имя класса | Имя базового класса | Локация | |
|---|---|---|---|---|
| Модель | Название таблицы в единственном числе с расширением .php, например: order.php | Имя файла в формате Camel Case, например: Order | модель приложения | /приложение/модели |
| Контроллер | tablename_controller с расширением .php, например: orders_controller.php | Название таблицы с добавлением слова Controller, например: OrdersController | Контроллер приложений | / приложение / контроллеры |
| Детали | Имя действия в контроллере с расширением .ctp, например: add.ctp | Классы отсутствуют; представление содержит HTML-теги и PHP-код. | /app/views/controller name |
Конфигурация баз данных
CakePHP позволяет настраивать базу данных в конфиг/app.php Этот файл предоставляет соединение по умолчанию с заданными параметрами, которые вы можете изменить по своему усмотрению.
Важные параметры приведены ниже:
| Параметр | Описание |
|---|---|
| порт (необязательно) | TCP-порт или сокет Unix, используемый для подключения к серверу. |
| Часовой пояс | Часовой пояс сервера, который нужно установить. |
| Схема | Это поможет вам указать, какую схему вы можете использовать. |
| unix_socket | Используется драйверами для подключения через файлы сокетов Unix. |
| SSL_key | Это путь к файлу с SSL-ключом. |
| SSL_cert | Это путь к файлу SSL-сертификата. |
| SSL_CA | Это путь к файлу центра сертификации SSL. |
| Журнал | Этот термин помогает вам вести журнал запросов. |
| В этом | Список запросов, которые должны отправляться на сервер базы данных при каждом создании соединения. |
| quoteIdentifiers | Установите значение true, если хотите использовать зарезервированные слова или специальные символы. |
Как MVC работает в CakePHP?
В этом уроке по фреймворку CakePHP мы узнаем, как работает MVC в CakePHP.
Это динамический способ построения основного механизма веб-приложения. Модель, представление и контроллер разделены друг от друга.

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