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