CakePHP — это программный каркас для создания веб-приложений, написанный на языке PHP и построенный на принципах открытого ПО. CakePHP реализует паттерн «Модель-Вид-Контроллер» (MVC).
Изначально создавался как клон популярного Ruby on Rails, и многие идеи были заимствованы именно оттуда.
- Своя файловая структура
- Поддержка множества плагинов
- Абстракция данных (PEAR::DB, ADOdb, и собственная разработка Cake)
- Поддержка множества СУБД (PostgreSQL, MySQL, SQLite), может быть подключен к другим СУБД, например Firebird
CakePHP отличается от других своих собратьев (Symfony, PHPonTrax) тем, что он полностью совместим как с PHP4 так и с PHP5.
Описание и возможности
- совместимость с PHP4 (до версии 1.3 включительно) и 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)