В наши дни разработчиците трябва да създават комплексни уеб сайтове и уеб приложения. Ако всичко бива започвано от нулата, това ще отнема твърде много време. Тук на помощ влизат frameworks, за да компенсират това.
Разбира се има условие преди да започнете да използвате даден framework, и то е да бъдете запознати с основните концепции и философии в PHP: процедурно програмиране и обектно-ориентирано програмиране, а това всичкото няма да мине без МVC – Модел, View, Controller.
След като имаме някакви знания по тези въпроси, можем да се ориентираме в океана от frameworks. Но все пак защо да ги използваме?
Накратко предимствата на един съвременен framework са:
- Дава ни възможност по-бързо да разработваме своите проекти;
- Дава ни един добре организиран, преизползваем и лесен за поддръжка код.
- Не ви се налага да се тревожите за low-level сигурността на сайта си.
- Следват логиката на MVC модела, който ни позволява разделянето на презентацията от бизнес логиката.
- Представя едни от най-добрите практики за уеб разработка, например като обектно-ориентирани инструменти за разработка.
Кой framework да избера?
Отговора на тoзи, както и други подобни фундаментални въпроси е, че няма „най-добра framework”, няма „най-добър език за програмиране” и няма „най-добра OS”. Всичко е според нуждите и предпочитанията. Всяко едно решение предлага различни предимства, но винаги съдържа в себе си недостатъци, спрямо други конкурентни продукти. Най-голямата грешка, която един начинаещ разработчик може да допусне е участието в eдин безспирен rat race.
Все пак не всички framework са еднакво добри, и тук си има „по-добри”, изцяло базирани на статистически данни и reports. Eто няколко от по-добрите, които хората с опит в този бранш препоръчват:
- Laravel;
- Symfony;
- Codeigniter;
- Yii 2;
- Phalcon;
- CakePHP;
- Zend Framework;
- FuelPHP;
Доста са нали?
Не зная каква би била най-добрата практика, но аз лично избрах да науча първо Symfony, след което съм се ориентирал към Laravel (или някой друга). Koлкото повече, толкова по-добър поглед над нещата.
Последно време не съм чувал хубави отзиви за Codeigniter и особено CakePHP, но вероятно тук има колеги с повече опит, които биха опровергали това … who knows?