Учебное пособие CakePHP для начинающих: что такое CakePHP Framework?

⚡ Умное резюме

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

  • 🎂 Что такое CakePHP: CakePHP — это MVC-фреймворк с открытым исходным кодом, который позволяет создавать и поддерживать веб-приложения на PHP с меньшим количеством кода.
  • Зачем это использовать: Он предлагает быструю разработку, базу данных и многое другое.tracвстроенная проверка и оптимизация для поисковых систем URLсразу после распаковки.
  • 📦 Установка: Composer устанавливает CakePHP одной командой create-project; текущая версия 5 требует PHP 8.1 или более поздней версии.
  • 📁 Структура папки: Для удобства сопровождения проекта чистые папки разделяют исходный код, конфигурацию, тесты, журналы, плагины и корневую папку общедоступного веб-сервера.
  • 🔤 Условные обозначения: Принцип «соглашение вместо конфигурации» означает, что единообразное именование моделей, контроллеров и представлений сокращает количество шаблонного кода.
  • 🔁 MVC-поток: Модели обрабатывают данные, представления обрабатывают вывод, а контроллеры направляют поток и поддерживаютping Вопросы четко разделены.
  • 🤖 AI-помощь: Инструменты искусственного интеллекта могут создавать шаблоны для CRUD-приложений на CakePHP и помогать в миграции старых проектов CakePHP на версию 5.

Учебное пособие по 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.

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

Архитектура MVC в CakePHP
Архитектура MVC в CakePHP

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

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

Вот шаги по использованию архитектуры MVC в CakePHP:

Шаг 1) Клиент или пользователь взаимодействует с представлением.

Шаг 2) Данное сообщение оповещает контроллера о конкретном событии.

Шаг 3) Контроллер отправляет запрос к базе данных модели и обновляет модель.

Шаг 4) Модель оповещает систему о том, что она изменилась.

Шаг 5) Представление получает данные модели и обновляется в соответствии с полученными данными.

Зачем использовать MVC?

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

Недостатки использования фреймворка CakePHP

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

Часто задаваемые вопросы (FAQ)

Да, для поддержки существующих проектов CakePHP и для команд, которые ценят его подход, основанный на соглашениях, а не на конфигурации. У Laravel и Symfony более крупные сообщества, но CakePHP 5 активно поддерживается и остается надежным и продуктивным фреймворком.

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

CakePHP 5, текущая основная версия, требует PHP 8.1 или более поздней версии. Более старые версии CakePHP 4 поддерживали PHP 7.4 и выше, но их поддержка подходит к концу, поэтому новым проектам следует ориентироваться на CakePHP 5 при использовании современных версий PHP.

Да. Искусственный интеллект может генерировать миграции, сущности, таблицы, контроллеры и шаблоны для CRUD-ресурсов в соответствии с соглашениями CakePHP, а также объяснять команды консоли BakePHP. RevОзнакомьтесь с правилами проверки и протестируйте каждое действие.

Да. Искусственный интеллект может отмечать устаревшие методы, обновленные пространства имен и изменения сигнатур, а также предлагать замены шаг за шагом. Поскольку миграции большие, обновляйте систему поэтапно и запускайте набор тестов после каждого изменения.

Подведем итог этой публикации следующим образом: