Как можно уже заметить в моём блоге, я уделяю дотошное внимание используемому языку и смыслу слов, поэтому термин фреймворк мне не нравится, вместо этого по-моему правильней говорить о каркасе или скелете приложения.
Выбор современных каркасов для php достаточно широк. Меня всегда интересовала именно внутренняя структура запуска типичного приложения, поэтому постараюсь описать их именно с этой стороны.

Codeigniter 1.7.6 - легковесный (1 mb) и простой в освоении. За основу берётся MVC-паттерн, популяризированная в ruby on rails. Основное приложение лежит в application папке, делится в свою очередь на контоллеры, шаблоны и модели, кроме того папки - errors, helpers, language, config и hooks. Классы контроллеров соответсвенно наследуют Controller и по умолчанию запускается index-метод, шаблоны показываются через this->load->view(имя_шаблона, передаваемые_переменные).
Из полезного замечены классы валидации форм, работы с изображениями (imagemagick, watermark), trackback-запросов для статей в блогах, автогенерация кода (scaffolding). Само собой поддержка разных бд (mssql, mysql, postgre, oracle, sqlite). Итого получается достаточно типично - одно приложение, разбитое по контроллерам. Идеальный фреймворк для минималистов типа меня.
Сайт очень позитивный - вики, видео примеры, форумы и багтрекер.

Symfony 1.3a от Sensio Labs позиционируется как более тяжёлый каркас (15 mb!). Та же MVC, но теперь с использованием ORM (Propel или Doctrine). Из ещё полезных фишек - кеширование шаблонов, scaffolding, многоязычность, чпу, недоступность исполняемых файлов от публичного каталога апача (как следствие - безопасность), настройка среды где проект вертится (development, testing, production). В минусы я бы отнёс привязку к JS библиотеке (Prototype), достаточная тяжеловесность по оперативке и времени из-за отсутсвия lazy loading классов (sic!) и опять же ORM.
Ещё одной особенностью является использование YAML в качестве файлов настроек. Если смотреть пример установки тестового (sandbox) приложения то видно что есть работа с консолью по автогенерации файлов моделей. Приложения в свою очередь состоят не только из моделей (обеспечивающим интерфейсы к бд), но и из модулей (с CRUD-действиями и интерфейсами).
По запуску процесса мне показалось очень сложным. Надо прописывать настройки в .yml файлах, что-бы сгенерировать всей файлы. Потом по идее грузится front controller, который вызвает модуль и в нём уже метод (по умолчанию - executeIndex) и вызывает шаблон indexSuccess.php
Сайт тоже достаточно путанный и быстрого погружения не даёт, а если распечатать примеры создания приложения, то из них получится более 10 страниц текста.

CakePHP 1.2.6 позиционируется как клон RoR и пожалуй с него слизан был Codeigniter (в том числе и поддержка старого php 4 ). Понимание как работает CakePHP это по сути понимание как работают остальные похожие каркасы или почему они работают неправильно. Почему именно это решение не стало очень популярным - сложно сказать, может дело в названии и не все такие сладкоежки.
"Пирожок" в общем быстрей чем Codeigniter и Yii, весит 7 мб и в общем предполагает тоже определённые названия классов (AppController, AppModel). В шаблон данные из контроллера передаются через $this->set(). Что понравилось - есть возможность юнит тестирования, очистки данных (Sanitize::paranoid), автогенерации кода (Cake bake), использования модели как дерева (и его показ методом generatetreelist)

Zend Framework 1.9 скачать проблематичней - надо регистрироваться на сайте этой Zend-компании которая и имеет то преимущество что выпускает свой IDE, Optimizer и сервер. IDE у них глючный, поэтому к каркасу приложений я так же скептически отношусь. И не зря - этот монстр выпускается в двух версиях и минимальная из них весит 20 мб! Названия классов всюду фигурируют с Zend префиксом. В общем сразу видно отношение к разработчикам.
В плюсы - большая независимость классов. Можно взять тот же Zend_DB и использовать только его в своём проекте, подобно библиотеке PEAR, ещё в Zend_DB уже есть выборка данных методами fetchPairs, fetchAll (которые я давно использую в своём движке), переводы в зависимости от числительности (Zend_Translate::plural), интеграцию с PHPunit, разделение на приватный и публичный каталог, ограничение прав (Zend_Acl).
По структуре.. Контроллеры наследуют Zend_Controller_Action и по умолчанию запускают indexAction метод. Данные в шаблон передаются через переменную контроллера $this->view. Шаблоны хранятся в .phtml файлах.
Одновременно и в плюсы и в минусы можно записать наличие обработки форм и веб-сервисов типа youtube. Не понравилось что в Zend_PDF очень низкоуровневые способы генерации файла, отсутсвие таблиц. В минусы я запишу и интеграцию с Dojo, общую тяжеловесность и дух рационального корпоративизма.
Поскольку ZF достаточно популярен, то с документацией и обучением проблем не встанет, разве что постигать надо достаточно много. Наверняка используется в больших проектах

Akelos в основном продвигает Bermi Fermer и сразу признаётся в том что это максимально полный клон RoR и весит приличные 9 мб. Запуск очень аналогичен вышеназванным каркасам, поэтому я не удивляюсь что контроллер наследует ApplicationController и по умолчанию тоже вызывается index-метод. Переводы в контроллере можно получить через AK::t() метод, что странно и непропорционально относительно названий других объектов и методов.
Данные в шаблон летят через $this->saveAttribute(). Вобщем ничего отличительного что вы в руби не видели. Интересная выборка с использованием ActiveRecord и множественностью ассоциаций между моделями (has_one, belongs_to). Использование AdoDB в качестве адаптера к базе данных, хранение сессий в базе.
Минусы - интеграция с Prototype.js и scriptaculous, отсутствие документации, хранение переводов в ассоциативном массиве, практически нулевая популярность и сообщество разработчиков. Вряд ли пока стоит брать на вооружение.

Yii PHP Framework 1.0.9 на удивление хорошо документируется в рунете, целиком объектный и хвастающийся что он быстрей даже чем CodeIgniter, хотя скорость по идее зависит от многих вещей кроме скелета. Развился из Prado, весит неплохие 7 мб.
По запуску - вызывается контроллер который наследует CController, потом в зависимости от запрашиваемого URL вызывается более низкий класс который наследует CAction. Для всяких дополнительных проверок на права можно использовать фильтры - CFilter. Модели могут быть двух типов - Active Record либо CFormModel. Шаблоны показываются в контроллере через $this->render().
Префикс "C" как и с "Zend" даёт какую-никакую совместимость но и добавляет шума. В целом мне показался каркас удобней чем Symfony, но чуть более корпоративный чем CodeIgniter.
Читайте также

Комментарии
Могу немного скорректировать по Symfony. Если на чистоту, то занимает она родимая всего 7мб (остальное это тесты и сторонние плагины + ORM).
Собственно важнейшим плюсом можно считать продуманный подход к архитектуре приложений и их конфигурация. Это немного другой уровень, чем остальные.
Есть автогенерируемы модули для админки (по моделям). Ну а с конфигами работать одно удовольствие. И уровень документации на отлично.
А чем глубже разработка, тем больше сюрпризов. Можно сравнить хотя бы количество сторонних плагинов.
Поэтому считаю Symfony самым мощным CMF на сегодня.
Но как всегда, все зависит от задачи. Что легче изучить вначале, не всегда даст фору в будущем. Чувствую, что Symfony2 стараются сделать как django для php. Это правильно.
>привязку к JS библиотеке (Prototype)
Вы можете использовать любой JS-framework или писать яваскрипт сами - это абсолютно не возбраняется. Отключаете sfProtoculousPlugin и в путь.
>отсутсвия lazy loading классов
Да нет - sfAutoloader как раз подкружает классы по мере необходимости, за исключением классов ядра (они собираются в один файл), и то - только в production environmentе.
>опять же ORM
Если вы считаете ORM недостатком (несмотря на то, что оно реально экономит время), никто не мешает вам пользоваться привычным mysql_query и отключить ORM.
>тяжеловесность по оперативке и времени
Рискну предположить, что «оно тормозит» скорее из-за того, что вы не пользуетесь кэшером опкодов (APC/xcache/eAccelerator) на локалхосте. Очень рекомендую, не пожалеете.
Вообще же, symfony хорош тем, что для того, чтобы на всю катушку использовать предоставляемые им возможности (и вообще представлять их), нужно хотя бы почитать мануал.
К слову, в мануале symfony написано и о том, что ОРМ можно отключить, и о том, что неплохо бы использовать кэшеры опкодов, и о том, что не обязательно использовать именно prototype.
В общем, потенциал symfony не раскрывается в приложениях типа HelloWorld/при беглом ознакомлении. И это замечательно.
Kohana!
Как-то пропал в статье энтузиазм после описания symfony :)
Пара слов о Zend:
> Названия классов всюду фигурируют с Zend префиксом. В общем сразу видно отношение к разработчикам.
На самом деле в именах классов отражается структура каталогов. Это очень удобно для автозагрузки классов, достаточно заменить символ "_" на "/". Довольно популярное на сегодня решение.
> скачать проблематичней - надо регистрироваться на сайте этой Zend-компании
Я раньше тоже так думал, потом заметил чуть ниже прямые ссылки на скачивание :)
А Codeigniter / Cake до сих пор на PHP4? Использовать 4ку сегодня - обречение.
Kohana - так себе.
Symfony - круто, но есть баги и проблемы с кешированием на больших проектах.
Yii - вполне юзабельно
Поддерживаю идею Антона о PHP'шных докладах в devclub!