Pull to refresh

Yii Framework

PHP *
Случайно встретился ещё один PHP-фреймворк. Обычно новые фреймворки я просматриваю мельком, но этот меня очень заинтересовал.

Авторы (Qiang Xue, Xiang Wei Zhuo), возможно, известны вам по довольно гибкому, но и довольно тормознутому фреймворку Prado.

Итак, что же в нём такого интересного?

Производительность


Если верить цифрам, он быстрее CodeIgniter, CakePHP, ZF и Symfony. А при использовании APC — не просто быстрее, а быстрее более, чем в два раза. Тут конечно стоит учесть, что сравниваются только самые базовые вещи.

Архитектура и возможности


— Полностью объектно-ориентированный без единой глобальной переменной или функции.
— Компонентный MVC.
— DAO, Active Record.
— Валидация форм.
— Аутентификация, авторизация.
— Генерация WSDL и всесторонняя поддержка веб-сервисов.
— Интернационализация, локализация.
— Многоуровневая система кэширования (данные, страницы, части страниц). Поддержка различных хранилищ кэша в виде бэкэндов.
— Много всего для предотвращения XSS, CSRF и других атак.
— Весь код на выходе — XHTML.
— Консольные генераторы скелетного кода.
— Позволяет использовать любой другой код (Zend Framework, PEAR и др.)
— На клиенте используется jQuery.

Заимствования идей


— Prado: Ну, тут понятно. Всё-таки авторы те же… Из него взяты идеи: компонентная структура, событийное программирование, слой абстракции СУБД, модульность, интернационализация, локализация и др.
— Ruby on Rails: Convention over configuration (можно начать работать, а конфигурировать как понадобится). Где-то в комментариях к документации народ отзывается, что разобраться проще, чем с Rails. Также на RoR похож Active Record.
— Symfony: фильтры, плагины.
— Joomla: Модули, перевод строк.

Документация


Документация конечно не такая простая и небольшая, как в CodeIgniter, но очень и очень хороша. На русском нет ничего, но с документацией на английском всё очень хорошо:

Документация по API
The Definitive Guide to Yii (122 страницы подробно и с примерами).
Оффлайн-варианты

Третьего числа состоялся релиз стабильной версии 1.0.0. Распространяется по new BSD (можно использовать как для открытых, так и для закрытых приложений).

Пробуем
Tags:
Hubs:
Total votes 63: ↑55 and ↓8 +47
Views 40K
Comments Comments 60