Первые три года я писал исключительно на нативном PHP, то есть без использования каких-либо движков или фреймворков.
Такой подход имеет ряд преимуществ и недостатков. Главным преимуществом является, то, что вы не следуете каким-либо правилам и делаете свой проект так как хотите вы.
В свою очередь главным недостатком разработки на нативном PHP является отсутствие целостности системы, вы просто собираете проект, используя сторонние библиотеки и скрипты, подчиненные разной логике. В таком проекте легко запутаться. Еще одним недостатком является, то, что вам приходится тратить очень много времени на те вещи, которые реализованы из коробки в CMS и фреймворках.
В этой связи, последние два проекта я сделал на Yii2 и Laravel.
В этих фреймворках заложен паттерн MVC, что значительно упрощает переход от одного к другому. В принципе, если вы знакомы с ООП и уже имеете хотя бы годовалую практику, то с легкостью, буквально с первого дня, сможете начать писать свой проект на одном из этих фреймворков.
Создав проекты на обоих, я решил поделиться своими впечатлениями.
Чем хорош Yii2
- Простота в реализации. Очень много готовых решений, которые значительно упрощают разработку.
- Для несложных проектов просто рай в плане шаблонизации, а вернее в Yii2 как такового шаблонизатора просто нет. Дизайн интегрируется очень легко.
- Самый классный debugger из тех что я видел. Очень много информации по каждому запросу.
Недостатки Yii2
- Отсутствие гибкости в роутах.
Чем хорош Laravel
- Гибкая система роутов.
- Шаблонизатор Blade.
- Встроенный локальный сервер.
Недостатки Laravel
- Отсутствие встроенного дебагера.
В целом, оба фреймворка хороши для разработки. Лично мне Laravel показался удобнее.