CakePHP

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
CakePHP
Логотип программы CakePHP
Тип программный каркас для создания веб-приложений (CMF)
Разработчик Cake Software Foundation
Написана на PHP[2]
Операционная система кроссплатформенность
Последняя версия
Репозиторий github.com/cakephp/cakep…
Лицензия лицензия MIT[3]
Сайт cakephp.org (англ.)
Логотип Викисклада Медиафайлы на Викискладе

CakePHP — программный каркас для создания веб-приложений, написанный на языке PHP и построенный на принципах открытого ПО. CakePHP реализует паттерн «Модель-Вид-Контроллер» (MVC).

Изначально создавался как клон популярного Ruby on Rails, и многие идеи были заимствованы именно оттуда:

  1. Своя файловая структура
  2. Поддержка множества плагинов
  3. Абстракция данных (PEAR::DB, ADOdb, и собственная разработка Cake)
  4. Поддержка множества СУБД (PostgreSQL, MySQL, SQLite), может быть подключен к другим СУБД, например Firebird[4]

CakePHP отличается от других своих собратьев (Symfony, PHPonTrax) тем, что он полностью совместим как с PHP4 так и с PHP5.

Описание и возможности

[править | править код]
  • диспетчер URL с применением регулярных выражений
  • генерация всего кода по схеме базы данных (требуется соблюдать стандарт именования столбцов)
  • проверка форм
  • компоненты для авторизации, ограничения доступа (ACL), управления сессиями, cookies, представления древовидной информации (в виде Nested Sets)
  • хелперы (компоненты) для генерации и заполнения форм, деления на страницы (paginate), управления кэшем, JavaScript (в том числе и AJAX)
  • механизм интернационализации для работы сайта на множестве языков
  • генерация SQL-запросов, в том числе для таблиц с отношениями один ко многим и многие ко многим, ORM
  • Скаффолдинг и генерация CRUD-страниц для сущностей, Router::mapResources c Put Delete Get Post.
  • Автогенератор кода Bake
  • Миграции
  • Консольная интеграция, класс Shell и задачи Task
  • Плагины (как отдельные расширяемые приложения), компоненты и поведения,
  • Поддержка Simple Test
  • Раскладки (layouts) и темы (Themes)
  • Низкий порог вхождения — быстрая разработка, основана на соглашениях (взят курс на Ruby On Rails)

Примечания

[править | править код]

Проекты на базе фреймворка