Много ми хареса идеята на VladSun, всеки потребител на PHP MVC рамка за приложения(framework), да създаде и/или участва в тема за любимата му рамка, и реших да се ключа която ви представя
Yii Framework(чете се [ji:]). Това е една рамка, подходяща за приложения, при които се очаква да има голяма посещаемост. Framework-а е сравнително млад и е производен на Prado. Негов създател е американеца Кианг Хю(Qiang Xue). Човека наистина си разбира от работата и е създал превъзходен, ама направо чудесен framework. Започнах с CakePHP, пробвах и Zend, но Yii ме грабна поради няколко причини, които ще споделя сега. Първата е че е изцяло написан на PHP 5, като максимално се възползва от това си предимство. Голямото бързодействие се постига, чрез използването на така наречения lazy loading. Имам предвид, че даден клас се include-ва, само ако е създадена негова инстанция или ако е повикан по някакъв начин. Така се постига теоретична скорост от 600 и нещо заявки за секунда, което са си наистина много. Освен това си има ORM и Active records, които наистина много улесняват работата. Има чудесна интеграция с моят любим jQuery, като си има отделни класове за работа с всички компонентите от потребителският интерфейс на jQuery. Освен това си има готови класове за всички базови функции на един сайт - търсене, странициране, сортиране, визуализиране в таблици и много друго. Разработването с него е много бързо и приятно. Да не забравя, че при него е обърнато и голямо внимание на сигурността. Само с промяна на един ред в конфигурационния файл, получавате защита срещу CSRF и HMAC за подписване на бисквитките. Не на последно място искам да кажа, че има много добра документация и подробно API.
Но стига съм го хвалил. Няма идеални неща. Един от недостатъците му е малкото общество около него и леката му пасивност, която се прикрива доста умело. Също така не предлага толкова голям брой учебни материали както при Cake или Zend, затова не е подходящ за начинаещи, които те първа се запознават с MVC. Няма и толкова много разширения за него, което може да сметнете за голям недостатък.
Има си отделен проект, който се занимава с взаимодействието на Yii с ExtJS.
Инсталиране на Yii:1) Сваляме Yii от
http://www.yiiframework.com/download/2) Разархивираме папката framework в директорията в която искаме да разположим нашето приложение. Ако директорията е /var/www/my-site, то рамката ще е в /var/www/my-site/framework
3) Отваряме конзола и пишем:
/var/www/my-site/framework/yiic webapp /var/www/my-site
След изпълнение на стъпки 1, 2 и 3 имаме базово работещо приложение, реализирано с Yii, което включва в себе си модул за управление на статии, потребители, форма за контакт и други. После лесно си разширяваме функционалността като надграждаме това базово приложение.
4) За настройка на база от данни променяме protected/config/main.php
5) Ако искаме чисти URL адреси създаваме .htaccess файл със следното съдържание:
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php
След тези няколко стъпки вече имаме напълно функционална инсталация на Yii, на която може да се наслаждаваме.