@bestauction

Фрейморк для REST API, на замену Silex?

Интересовались уже тысячу раз, но у меня задача более конкретно поставлена.

Нужно сделать REST API и админку к нему (backend и fronend так сказать). Точнее переписать весь код текущего апи. Сейчас реализовано на silex 1.3. Древний старый код. Pimple и все дела. Да и вообще помер

Внутри самого апи:
- Практически не будет прямой работы с базой. Будут только redis, sphinx, memcache. И по мелочи.
- Работа с очередями
- Соответственно обработчики очередей в кроне

Внутри админки:
- Правка конфигов
- Просмотр сущностей в БД

И вот не могу решить.

Slim
Все хорошо, настраивается, легкий. Но можно накосячить, так как опыта с нуля у меня не так много

Lumen/Laravel
Легкий, быстрый. Компоненты от старшего Laravel. Но всё же урезан. Есть ли смысл использовать Lumen, или сразу перейти на Laravel?

Symfony
Сейчас Symfony вроде как можно поставить минимальный функционал, и это не будет громоздкая корова. Но будет доктрина, которая вроде как сложнее чем Eloquent от Laravel, да и медленнее.
Ранее код писался на Silex, но на древней версии. Писался топорно, так как не было опыта использования внедрения зависимости. Соотвественно опыта набрался, но свобода действий все же навредила.

Что выбрать, чтобы не наступить на те же грабли? Чтобы код обновлялся (фреймворка), чтобы не было совсем свободы действий, дабы полноценно использовать шаблоны, а не "написал как первое в голову пришло"

UPDATE: ниже сам ответил на свой вопрос, спустя время
  • Вопрос задан
  • 259 просмотров
Решения вопроса 3
glaphire
@glaphire Куратор тега PHP
PHP developer
На laravel будет удобнее, на symfony придется писать половину с нуля или использовать api platform, в которой черт ногу сломит)
Ответ написан
@sl0
Имеет смысл писать на том, что лучше знаешь. Судя по описанию, это laravel.
Ответ написан
Комментировать
@bestauction Автор вопроса
Ответ на свой вопрос спустя время. Сначала выбрал slim, так как по описанию он похож на silex, на котором я писал ранее.

Начав разбираться, понял, что в последней версии slim 4, это уже не то что микрофреймворк, а скорее конструктор фреймворка: убрали вообще всё что можно, в угоду кастомизации. Такое мне не подошло, так как придется сращивать все библиотеки самому. Банально даже эммитер писать самому.

Дальше выбор пал на Lumen: посмотрел что в нем вырезано относительно Laravel, что можно будет добавить от старшего брата и что нельзя. Устроило, начал писать на Lumen. Не всё так гибко, как могло быть на slim, но лишняя свобода тоже не всегда хорошо.

Из плюсов: легкая версия Laravel. Подходит многое из библиотек для Laravel

Из минусов: Lumen не подойдет новичкам, как первый фреймворк. Всё из-за документации. Некоторые моменты в ней не очевидны, если ранее не писал на Laravel (или вообще на каком то фреймворке). Например:

Где хранятся дефолтные значения конфигов?
Какие могут быть конфиги?
Какие могут быть команды artisan?
Нужно ли генерировать APP_KEY?

И вот таких не очевидных мелочей будет много для новичка
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы