Урок за CakePHP за начинаещи: Какво е CakePHP Framework?
⚡ Умно обобщение
Урокът за CakePHP обхваща 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 е разработен от Michal Tatarynowicz на 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 бази данни
- Обработка на компоненти като имейл, бисквитки, сигурност, сесия и заявка
- Вижте помощниците за JavaСценарий, Аякс, HTML формуляри и други
CakePHP - Структура на папката
Сега в този урок за рамката на CakePHP ще научим за структурата на папките на CakePHP.
По-долу е дадена структура на папките на CakePHP:
| Папка | Descriptйон |
|---|---|
| Тестове | Тази папка съдържа тестови случаи за вашето приложение. |
| tmp | Папката tmp съхранява временни данни. |
| Производител | Тази папка е мястото, където са инсталирани CakePHP и други зависимости на приложенията. |
| Webroot | Webroot съхранява всички файлове, които искате да бъдат публично достъпни. |
| Кофа за боклук | Папката bin съдържа изпълнимите файлове на конзолата Cake. |
| Дневник | Той съдържа вашите лог файлове, които зависят от конфигурацията на лог файловете ви. |
| Config | Папката config съхранява конфигурационните файлове, използвани от CakePHP. |
| Plugins | Тук се съхраняват плъгините, които вашето приложение използва. |
| старши | Той съдържа кода за вашето приложение, като например контролери, обекти и поведения. Locale съхранява низови файлове за интернационализация, а Model съдържа таблиците, обектите и поведенията на вашето приложение. |
Конфигурация на CakePHP
CakePHP идва с един конфигурационен файл по подразбиране. Освен това ви позволява да го модифицирате според вашите изисквания. За тази цел има папка, наречена „config“.
| Име на променливата | Descriptйон |
|---|---|
| Debug | Позволява ви да промените изхода за отстраняване на грешки на CakePHP. |
| App.namespace | Помага ви да намерите класовете в приложението. |
| App.baseUrl | Разкоментирайте тази ключова дума, когато не искате да използвате mod_rewrite на Apache с CakePHP. |
| App.кодиране | Позволява ви да дефинирате какво кодиране използва вашето приложение. |
| 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 следва идеята за конвенция, а не за конфигурация. Конвенцията за именуване ви позволява да организирате работата на уеб приложението. При този метод повече от една дума в името трябва да бъдат разделени с „_“ при именуване на файла и с камилски регистър (camel case) при именуване на класа.
MVC частите трябва да следват синтаксиса, даден по-долу:
| Име на файла | Име на класа | Име на базовия клас | Адрес | |
|---|---|---|---|---|
| Модел | Единствено число на името на таблицата с разширение .php, напр.: order.php | Името на файла е с главни и малки букви (camel case), например: Order | AppModel | /приложение/модели |
| Регулатор | tablename_controller с разширение .php, например: orders_controller.php | Името на таблицата, добавено с Controller, например: OrdersController | AppController | /приложение/контролери |
| Гледка | Името на действието в контролера с разширение .ctp, например: add.ctp | Няма класове; изгледът съдържа HTML тагове и PHP. | /app/views/име на контролер |
Конфигурация на бази данни
CakePHP ви позволява да конфигурирате базата данни в config/app.php файл. Той предоставя връзка по подразбиране с предоставени параметри, които можете да променяте по ваш избор.
По-долу са дадени важни параметри:
| Параметър | Descriptйон |
|---|---|
| порт (по избор) | TCP портът или Unix сокетът, използвани за свързване към сървъра. |
| Часова зона | Часовата зона на сървъра за задаване. |
| схема | Помага ви да посочите коя схема можете да използвате. |
| unix_socket | Използва се от драйвери за свързване чрез Unix socket файлове. |
| ssl_key | Това е пътят до файла с SSL ключа. |
| ssl_cert | Това е пътят до файла на SSL сертификата. |
| ssl_ca | Това е пътят на файла към SSL сертификационния орган. |
| Вход | Този термин ви помага да извършвате регистриране на заявки. |
| В него | Списък със заявки, които трябва да бъдат изпратени до сървъра на базата данни всеки път, когато се създаде връзка. |
| quoteIdentifiers | Задайте на 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.
