Урок за CakePHP за начинаещи: Какво е CakePHP Framework?

⚡ Умно обобщение

Урокът за CakePHP обхваща PHP рамката с отворен код за бързо разработване на уеб приложения, базирани на MVC. Този урок обяснява какво е CakePHP, защо екипите го избират, как да го инсталират, структурата и конфигурацията на папките му, конвенциите за именуване и как шаблонът Model-View-Controller управлява CakePHP приложение.

  • 🎂 Какво е CakePHP: CakePHP е MVC рамка с отворен код, която изгражда и поддържа PHP уеб приложения с по-малко код.
  • Защо да го използвате: Предлага бързо развитие, база данни abstracция, вградена валидация и удобство за търсачките URLведнага щом го извадите от кутията.
  • 📦 Монтаж: Composer инсталира CakePHP с една команда create-project; текущата версия 5 изисква PHP 8.1 или по-нова версия.
  • 📁 Структура на папката: Изчистването на папките разделя изходния код, конфигурацията, тестовете, лог файловете, плъгините и публичния webroot за по-лесна поддръжка.
  • 🔤 Конвенции: Конвенцията пред конфигурацията означава, че последователното именуване на модели, контролери и изгледи намалява шаблонния дизайн.
  • 🔁 MVC поток: Моделите обработват данни, изгледите обработват изхода, а контролерите насочват потока, поддържатping притесненията са ясно разделени.
  • 🤖 AI Assist: Инструментите с изкуствен интелект могат да изградят CakePHP CRUD приложения и да помогнат за мигрирането на по-стар 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 е разработен от 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.

Това е динамичен начин за изграждане на основния механизъм на уеб приложение. Моделът, изгледът и контролерът са отделни един от друг.

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прегледайте правилата за валидиране и тествайте всяко действие.

Да. Изкуственият интелект може да маркира остарели методи, актуализирани пространства от имена и промени в сигнатурите, както и да предлага заместители стъпка по стъпка. Тъй като миграциите са големи, надстройвайте постепенно и изпълнявайте тестовия пакет след всяка промяна.

Обобщете тази публикация с: