1/Laravel. Ищем сходства с YII для быстрой адаптации

В жизни надо всегда учиться чему то новому, будь то в бытовой сфере, либо в рабочей. Совсем недавно я принял решение написать своё первом мобильное приложение, полноценное, ни какое то подобие на технологии PWA...

Для этого я изучил вопрос и наткнулся на фреймворк Flutter, который в свою очередь потребовал знаний языка Dart. В последние дни я отдавал своё свободное время изучению и практике на языке Dart, но необходимо сделать паузу...

По работе появился новый проект, в рамках которого существовала часть реализованного функционала на Laravel. PHP фреймворк с которым ранее мне не доводилось работать. Необходимо достаточно оперативно изучить его основы для начала выполнения поставленных задач.

Благодаря хорошему опыту разработки на YII я решил отталкиваясь от него найти различия в системах для быстрого "перехода".

Что мне нравилось в YII, а точнее его версии Advanced - это то что дополнительные компоненты можно устанавливать лишь раз и пользоваться ими в различных частях проектах, в Laravel к сожалению такой "фишки" нет, но считать это критической проблемой не стоит, так как в том же YII разбивать проект приходилось для выделения поддоменов, в Laravel же на сколько мне удалось изучить вопрос - Route позволяет делать в рамках единой части.

Кстати о Route... кто-то считает что в Laravel он значительно лучше, но не думаю что это так... он более продвинутый, но во всех ли кейсах он будет лучше организованного в YII крайне сомнительно. Если в YII мы указываем его в конфиге, то в Laravel это отдельная папка routes.

В YII модели и контроллеры находятся в собственных папках controllers и models (в классической реализации, понятное дело что всё может быть на усмотрении разработчика), в Laravel это отдельная ветка в app/Http, где также деление можно осуществить по папкам.

Раз затронули модели, то стоит поговорить о валидации... Валидация в YII достаточно понятная и происходит на многих этапах средствами фреймворка... в Laravel мы прописываем валидацию в отдельных классах на поступающие данные из вне.

Представления в YII находятся в папке views, для Laravel это resources/views. При этом различные дополнительные файлы (стили, скрипты) если в YII мы можем публиковать в папке web (в Laravel это public), то здесь же их необходимо размещать там же в resources.

Это экспресс-анализ двух дней изучения системы.