Защо има толкова много PHP рамки? Ако целта им е да направят MVC уеб приложение, защо има много? Как да разбера какво да използвам, когато? Трябва ли да бъда експерт само по един или повече?


Отговор 1:

Прилагането на MVC модел с PHP е лесно. Всеки, който има няколко години опит с езика и познанията на модела, може да създаде работеща MVC реализация от нулата. Съвременните рамки обаче са много повече от MVC частта.

Рамките за уеб развитие основно се опитват да постигнат обща цел: да улеснят развитието на уеб приложенията. Начинът, по който те възнамеряват да направят това, варира силно в различните рамки. Някои може би смятат, че солидният контейнер за IoC е ключът към бързото развитие на приложенията. Друг може да се съсредоточи върху отделянето и повторната употреба на компонентите. Трети предлага високо ниво на автоматизация.

Сега кой от тях трябва да научите? Мисля, че има два основни решаващи фактора:

1) Който ви е най-удобно да работите. 2) Който е по-вероятно да ви окаже добра работа.

Прочетете на 3-5 от най-популярните рамки. Вижте каква е тяхната философия за дизайн. Търсете локални задачи, кодиращи за всеки един от тях и сравнете числата. Всички те имат своите потребители, защото нуждите на всеки са различни.


Отговор 2:

Разнообразието е добро. Проблемът с MVC PHP Frameworks и всеки друг софтуер (например: браузъри, текстови редактори) се опитва да изобрети колелото.

PHP общността се разви и

Рамкова група Interop

предложи препоръки за стандартизиране на библиотеки, рамки и компоненти. По този начин библиотеките могат лесно да се комбинират в един проект [1] [2].

Не ви препоръчвам да сте експерт по една или друга рамка, вместо това да бъдете експерт по основи, модели на проектиране, oop и изберете една рамка, която следва тези препоръки и решава правилно проблема си. Laravel, Zend, Symfony следва тези на PSR.

[1]

PHP: Правилният път

[2]

PHP Framework Interop Group


Отговор 3:

Да, има много PHP рамки - Zend, Symphony, Codeigniter, Laravel. Разликата е в бързината, гъвкавостта. Някои от тях се използват за големи проекти, други - за средни и малки. Аз съм разработчик на Laravel и това напълно ме удовлетворява. Той е бърз, лесен за работа и може да се използва както за големи, така и за малки приложения. А относно това, че сте експерт - мисля, че можете да бъдете експерт във всички php рамки, тъй като MVC рамките са равни в повечето случаи, така че ако ще сте експерт в една от тях - можете да бъдете експерт във всички тях. Но, разбира се, е необходимо време.