Какво е 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, но тях не съм ползвал и не мога да дам компетентно мнение.