Yii Framework
6 декабря 2008
Случайно встретился ещё один 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, но очень и очень хороша. На русском нет ничего, но с документацией на английском всё очень хорошо всё уже есть:
The Definitive Guide to Yii (122 страницы подробно и с примерами).
Третьего числа состоялся релиз стабильной версии 1.0.0. Распространяется по new BSD (можно использовать как для открытых, так и для закрытых приложений).
Комментарии RSS по email OK
Надо будет посмотреть... Спасибо.
Скорость это гут, я уже задумывался над тем, что надо что то очень быстрое найти
и использовать вместе с Симфони, в тех участках где нужна супер-скорость (например обработка AJAX Запросов)
Но название конечно выбрали странное: "YII", как его произносить то? ;)
Вроде как произносится как русское «И».
Где нужна супер-скорость я бы использовал голый PHP… или вообще что-нибудь откомпилированное на сях.
тоже на днях изучал этот фреймворк, создатели молодцы - не поленились docs и guide толковые написать.
по скорости ясно почему он быстрее других - yiilite это просто большой файл с множеством классов - часть работы apс (:
мой кратенький обзор можно прочитать тут http://andrey.opeykin.ru/yii-framework/....
P.S. Ждем появления русского сообщества! Домен уже занят )))
Сайт русскоязычного сообщества начинает свою жизнь тут http://yii.devgroup.ru
На днях ознакомился с этим фреймворком.
Есть свои преимущества по сравнению с CI, Kohana, CackePHP. Но!..
Кривой скафолдинг - так и не получилось у меня ничего привязать к mysql - постоянно жаловался, что не задан primary key (хотя с sqlite работал нормально).
И производительность тоже у меня вызвала сомнение:
Во первых тестить фреймворки на hello world - глупо, все равно победит plain php. Во вторых без использования мемкеша, производительность практически не отличается. Может я конечно что-то недопонимаю, но на большинстве серверов используется php-cgi у которого нет доступа к shred memory.
А тем временем вышла русская документация: http://www.yiiframework.com/doc/guide/ru/.
Максим
Она давно уже есть… и, если присмотреться, всё ещё в процессе перевода. Я иногда правлю там орфографию.