В отговор на:
Най-сериозно е PHP, дето frameworks дори не са съвместими със самия език. Zend си ходи с негова си версия PHP, както и моднат Апач. И е бавно, та са утрепало от бавнотия.
TL;DR:
Изобщо не съм съгласен. PHP е добър език, но репутацията му е лоша точно заради такива неинформирани изказвания като това. Всички модерни PHP frameworks използват package manager-a composer. Ти май бъркаш понятията Zend Framework и Zend Engine. Също така бъркаш и методите за инсталиране и конфигурация на PHP: mod_php vs (fast)CGI.
Малко пояснения:
1. Composer е package manager (подобен на apt-get, yum и homebrew), който ти позволява да зареждаш различни php packages в проекта си без да се налага ръчно да ги сваляш, include-ваш и тн. Ако някога се появи по-нова версия на даден пакет можеш с една команда да я update-неш без да пипаш нищо по кода. Всички модерни frameworks го използват, за да си управляват своите dependencies. Ако някога оправят някой бъг или закърпят някоя дупка в сигурността, можеш с една команда да обновиш целия проект без да пипаш нищо по кода.
2. Zend Framework e enterprise class framework от професионално написани пакети на езика php. От виждаме, че върви върху php версия по-нова от 5.6. Това е същото php които ползват всички (има го на милиони уеб сървъри по целия свят). Няма php специално форкнато за zend framework. Софтуерът на уеб сървърът изобщо няма значение. Всеки уеб сървър, който може да подкара php 5.6, може да подкара и Zend Framework. Не е задължително да е Apache – може да е IIS, nginx. А може и въобще да няма уеб сървър (cli, php -S). Това са различни слоеве: най-долу ти е операционната система, над нея са Apache и PHP, и върху PHP е Zend Framework. Слоевете са независими един от друг.
3. Zend Engine е съвсем различно животно. Това е ядрото на езика PHP и се намира вътре в него. На всичките милиони уеб сървъри, където има PHP, има и Zend Engine.
4. В случай, че се чудите от къде идва Zend: През 90-те двама студента програмисти Zeev Suraski и Andi Gutmans пренаписват PHP и наричат новия му пренаписан енджин Zend Engine. След това създават фирмата Zend Technologies. Фирмата специализира в PHP услуги и продукти. Един от продуктите е Zend Framework. Други техни продукти са IDE Zend Studio (и Eclipse PDT), Zend Server (техни си enterprise форкове на Apache, PHP, MySQL + много добър дебъгинг, който го няма другаде). Надявам се до тук да е станало ясно, че това са съвсем отделни продукти и не си длъжен да ползваш Zend Server, за да подкараш Zend Framework.
5. Няма такова нещо като специално „моднат Апач“ за Zend Framework.
PHP може да върви по 2 начина: mod_php и (fast)CGI. При mod_php, php се зарежда като модул (.dll/.so файл) на Apache процеса. При тази конфигурация, той е част от Apache. Всеки един Apache процес зарежда php дори и да изпраща някой .gif. Както се досещате това в случая е излишна рам. Mod_php има само за Apache. (Fast)CGI e различно. При този случай PHP e напълно отделен процес. Когато уеб сървъра (не е задължително да е Apache) види <?php инструкция, той я препраща на външния PHP процес-а и го чака да я обработи и да върне отговора. В този случай, ако пращаме .gif файл, уеб сървъра няма да зареди PHP. Това прави FastCGI (FPM) предпочитания метод в днешно време. Zend framework върви на него без проблеми. Тоест не ти трябва mod_php.
|