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)