Yii — это высокоэффективный, основанный на компонентной структуре PHP-фреймворк для разработки крупных веб-приложений. Он позволяет максимально применить концепцию повторного использования кода и может существенно ускорить процесс веб-разработки. Название Yii (произносится как Yee
или [ji:]
) означает простой (easy), эффективный (efficient) и расширяемый (extensible). Фреймворк является бесплатным программным обеспечением и распространяется как «New BSD License».
Основным плюсом Yii можно считать поддержку им объектно-ориентированного программирования (ООП). Следует отметить также высокую скорость работы и развитую техподдержку. Большой набор библиотек помогает создавать полноценное веб-приложение, которое отвечает самым современным стандартам. Это и интегрированное использование Ajax, и встроенная поддержка интернационализации приложений, а также простой инструментарий для работы с базами данных.
В Yii присутствует функционал, значительно повышающий разработку. При этом в нём нет ничего лишнего. Разумеется, требуется некоторое время, чтобы понять, как разрабатывать сайты на данном фреймворке. В Yii имеется возможность подключения множества готовых расширений, а также расширений zend фреймворка.
Yii подходит для разработки веб-приложений с большим потоком трафика, поскольку обладает легковесностью и продвинутыми средствами кэширования. На нем можно разрабатывать форумы, развлекательные порталы, системы электронной коммерции, а также системы управления контентом (CMS).
Yii фреймворк способен работать с разными базами данных, в частности с MySQL, SQLite, PostgreSQL, Oracle. Можно считать это большим плюсом, поскольку, к примеру, если требуется старый сайт (на PostgreSQL) переносить на новый движок, не придется менять базу данных. А код, который занимал бы при обычных условиях 100 строчек традиционного php кода, теперь может быть сокращен до десяти. Происходит это благодаря различным встроенным методам.
Yii — это MVC-фреймворк, также как и большинство других PHP-фреймворков, и его превосходство над другими фреймворками заключается в высокой эффективности, широких возможностях и качественной документации.
Сравнение PHP фреймворков
Framework |
|
|
|
|
|
|
|
|
|
|
|
Delphi for php |
|
|
|
|
|
|
|
|
|
|
|
Akelos |
|
|
|
|
|
|
|
|
|
| - |
ash.MVC |
| - | - |
|
| - |
| - |
|
| - |
CakePHP |
|
|
|
| - |
|
|
|
|
| - |
CodeIgniter |
|
| - |
|
|
|
| - | - | - | - |
DIY |
| - |
|
|
|
| - |
| - | - | - |
eZ Components | - |
| - |
|
|
|
| - | - | - | - |
Fusebox |
|
| - | - | - |
| - |
| - |
| - |
PHP on TRAX |
|
|
|
| - | - |
|
| - |
| - |
PHPDevShell | - | - | - | - |
| - | - |
|
|
| - |
PhpOpenbiz |
|
|
|
|
| - |
|
|
| - | - |
Prado |
|
|
|
|
|
|
|
|
|
|
|
QPHP |
|
| - |
|
| - |
|
|
|
|
|
Seagull |
|
|
|
|
|
|
|
|
|
| - |
Symfony |
|
|
|
| - |
|
|
|
|
| - |
WACT |
|
| - |
|
| - |
| - | - |
| - |
WASP |
| - | - |
|
| - |
|
|
|
| - |
Yii |
|
|
|
|
|
|
|
|
|
|
|
Zend |
|
|
|
| - |
|
|
|
|
| - |
ZooP |
|
| - |
|
|
|
|
|
| - | - |
Сравнение PHP-фреймворков по скорости
Ниже приведен график, сравнивающий наиболее популярные фреймворки по скорости:
| YII 1.0.2 | Codeigniter 1.7.0 | Zend 1.7.3 | CakePHP 1.2.1 | Prado 3.1.3 | Symfony 1.2.2 |
| 673 | 206 | 83 | 79 | 75 | 50 |
| 93 | 79 | 38 | 29 | 24 | 18 |
Сравнение происходило по критерию RPC (request per second, запросов, обрабатываемых в секунду), с включенным и выключенным APC (Alternative PHP Cache). Значение RPC НЕ значит, что это предел пользователей, которые могут быть одновременно обслужены сервером. Этот параметр показывает, сколько ответов вы получите, если будете непрерывно обновлять страницу в своем браузере (например, 650 раз в секунду, для фреймворка YII).
RPC — критерий достаточно показательный, хотя и зависящий от производительности сервера и его конфигурации. Но так как испытания проводились на одной машине, сравнение можно считать справедливым.