Pull to refresh

Зачем оказался нужен ещё один PHP фреймворк?

Reading time2 min
Views5.8K

В эпоху богатых по функционалу Yii2, Laravel, CI и прочих я вдруг решил написать свой собственный фреймворк (микрофреймворк) и не забавы ради, а для разработки конкретного проекта (уже закрыт). Это не реклама моего фреймворка, а небольшой очерк, так, навеяло вчера.


Я работал в одной компании, продающей автозапчасти в розницу и возникла идея создать сервис вроде zapradar.ru. До этого я был знаком лишь с одним фреймворком — Codeigniter 2. Проект решил делать на PHP 7. Большого опыта в программировании не было. Я начал изучать документацию Yii, Codeigniter 3. Оба фреймворка устанавливаются через консоль с кучей дополнительных модулей, зависимостей и т.п. Yii2 мне показался и вовсе неудобным (может, в силу отсутствия опыта). В общем я решил написать свой микрофреймворк и создавать проект на нем. Ссылку на него я дам в конце статьи.


Позже с помощью этого инструмента я создал еще несколько сайтов с нестандартным функционалом.


Мне предстоит реализация еще одного сложного проекта (своими силами или в сотрудничестве с другим более опытным разработчиком). И я решил, что мой фреймворк недостаточен. Поэтому начал изучать документацию и возможности других. Первым делом, я написал краткое ТЗ для своего проекта. Попытался сделать некоторые вещи на Yii2, Laravel. Первый мне не понравился своей избыточностью и множеством зависимостей, второй понравился. И всё же пришел к выводу, что, скорее всего, буду строить на своём фреймворке (но выбираю между ним и Laravel).


Я объясню, зачем это оказалось нужным мне. Идея использовать сторонний инструмент хороша тем, что уже есть множество бибилиотек, за которыми стоят целые команды. Выбирая Laravel, Yii2, CI и т.п. ты по сути нанял целую команду, которая уже многое сделала для твоего проекта. Но небольшой инструмент, созданный своими руками, позволит внедрить свою архитектуру и стандарты. Вопрос лишь целесообразности. Кроме того в указанных фреймворках не так много бибилиотек, которые в своём проекте я буду использовать, как есть. Почти всё придется писать с нуля. И именно последний момент склоняет меня к уже написанному ещё одному никому неизвестному PHP фреймворку.


Зачем я написал эту статью? Habr.com — отличный источник знаний, идей, площадка для обмена опытом. Возможно этот материал вызовет дискуссию и там я увижу что-то новое, что может полностью поменять мои взгляды. Например, к прошлой моей статье был дан очень ценный для меня комментарий.


Вот ссылка на GITHUB. Кстати, кому интересно, делитесь библиотеками. Вдруг это будет кому-то полезно (кроме меня).

Tags:
Hubs:
Total votes 37: ↑10 and ↓27-17
Comments86

Articles