Разработване на проекти със Zend Framework: Урок #1 – Увод и мотивация
Какво е Zend Framework?
Zend Framework е Open Source, MVC базиран и обектно-ориентиран фреймуърк за PHP 5 приложения създаден от Zend Technologies през 2005 година. Zend Framework e use-at-will система, което означава, че всеки един компонент използва почти или никаква свързаност с другите компоненти. Това помага на разработчици, които не искат да използват целия феймуърк, а само отделни компоненти.
Дали Zend Framework е за мен?
Ако сте PHP разработчик и имате нужда от добра рамка, в която да творите, Zend Framework e точно като за Вас.
Ако сте начинаещ PHP разработчик, който иска да развие мисълта си обектно, Zend Framework е задължителен за Вас.
Ако сте Java разработчик, Zend Framework ще е лесен и приятен за Вас.
По какъв начин може да ми помогне Zend Framework?
Zend Framework е web application framework. Най-честото му приложение е за създаване на комплексни уеб системи, но все пак библиотеката му може да се използва разделено, така че може да се чувствате свободен да използвате който искате компонент в каквато искате система.
Критика към теб, разработчико!
Ако Вие сте PHP разработчик, който си мисли, че разликата между PHP 4 и 5 е само в цифричката и "някаква си там оптимизация", то Вие сте нищо повече от един ЛЕЙМЪР!
PHP е най-широко използваната платформа за уеб системи в Интернет. Това обаче е нож с две остриета. Ето плюсовете и минусите на PHP:
Плюсове
- Лесен за научаване
- Безплатен
- Бърз
- Безброй много учебни статии и уроци в Интернет
Минуси
- PHP не е строго типизиран език. За програмисти на C++/Java в началото PHP ще им бъде неудобен.
- Има много начини за реализация на един проблем. Това създава лоши навици, особенно когато говорим за PHP 4 и PHP 5.
- Безброй много учебни статии и уроци в Интернет - това както плюс, така е и голям минус. Повечето уроци, които ще намерите в Интерет са за PHP 4, а писането в стила на PHP 4 е паразитизъм(защо? Виж по-долу).
PHP 4 vs PHP 5
Когато PHP 4 е бил пуснат, създателите му не са имали предвид колко комплексни системи могат да бъдат разработени на него. В PHP 4 липсват цял тон възможности, които са пречка в проектирането на сложни системи. Но няма страшно! PHP 5 e тук от 2004-та година, като в него се взимат под внимание най-големите слабости в писането на код от високо ниво. Именно всеки един компонент на Zend Framework е написан на PHP 5, спазвайки стандарти за писане на код, взаимствани от Java.
"Проектът ми работи на PHP 4 и на PHP 5!"
Всъщност проектите, които работят на PHP 4 и 5 са чист PHP 4 код, с изчистени грешки за предпроцесора PHP 5. Пета версия може спокойно да процедира PHP 4 код(представете си колко хора щяха да се откажат от PHP ако скриптовете им не работят правилно с пета версия), и ако проекта Ви работи и на двете версии, значи е на чист PHP 4 (искам да Ви кажа, че няма за кякво да се радвате). Проекти, за които пише, че робатят както на PHP 4, така и на 5, не се възползват от силата и възможностите на пета версия на PHP, която смело мога да кажа, покрива повечето от изискванията за един съвременен обектно-ориентиран език за програмиране.
Предимства и недостатъци на Zend Framework
Предимства
- Богата библиотека
- Изчерпателно документиран и разбираем сорс код, спазващ скриктен стандарт за качество
- Гъвкава софтуерна архитектура. Не ограничава разработчиците
- Последни възможности на PHP 5. Фреймуъркът с най-изчерпателно използване на PHP 5
- Подробна документация на няколко езика + удобен и разбираем 30 минутен Quick Start урок.
Недостатъци
- Zend Framework е "дебел". Ако искате системата Ви да върви бързо, трябва да отделите специално внимание на бързодействието и оптимизацията на кода си.
- Zend Framework е труден. Ако досега не сте се сблъсквали с фреймуъркове или още по-лошо, не сте чели чужд сорс код, може да ви бъде много, много трудно...
- Тъй като именуването на класовете в Zend Framework спазва PEAR стандарта, те могат да бъдат доста дълги, което може да ви нервира от време на време(версия 5.3 на PHP се "запозна" с пространствата от имена, което ще реши проблема с дългите имена. Очакваме използването на namespaces в Zend Framework 2.0, който ще дойде съвсем скоро!)
- Липсата на уроци в официалната документация на сайта
Zend Framework алтернативи
Simfony - ще цитирам един мой познат: "Simfony е прекалено добър!"
SolarPHP - има доста прилики със Zend Framework
CakePHP - Не ми харесва (pure hate)
CodeIgniter - не го препоръчвам на никой. Пълна бъркотия!
Има още много, като Yii и eZ Components, но тях не съм ползвал и не мога да дам компетентно мнение.
Все още няма връзки за обратно следене.