Автор Тема: [MVC] Старт с Yii  (Прочетена 2439 пъти)

koleto

  • Напреднали
  • *****
  • Публикации: 52
  • Distribution: Ubuntu
  • Window Manager: Gnome
    • Профил
    • WWW
[MVC] Старт с Yii
« -: Mar 25, 2010, 01:56 »
Много ми хареса идеята на 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, на която може да се наслаждаваме.
« Последна редакция: Apr 09, 2010, 21:54 от VladSun »
Активен

Поражение не съществува, докато човек не се признае за победен!

VladSun

  • Moderator
  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Re: [MVC] Старт с Yii
« Отговор #1 -: Apr 09, 2010, 21:41 »
Чак сега видях тази тема - поздравления :)

Бях чувал за тази рамка, но не бях преглеждал нейните възможности. Хвърлих един поглед на API-то и определено мога да кажа, че ми харесва :) Със сигурност ще задълбая повече, когато имам време ;)
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P