и описывать каждую группу в общем файле группы? Будет аналог "контроллера".
Или вообще в списке роутов через простые анонимные функции. Тогда и сотни классов создавать не придётся.
Ну и ещё, когда приложение разрастается до сотен и тысяч классов, хорошо бы начать бить его на модули по принципам совместно используемого кода. Тогда будет не пара сотен экшенов, а пара десятков в пределах каждого модуля.
> Или вообще в списке роутов через простые анонимные функции. Тогда и сотни классов создавать не придётся. Гениально.
А чем это особо отличается от текущих подходов, кроме того, что не будет классов?
Попробуй закэшировать такой файл.
Если есть возможность сериализовать анонимку, то и закешировать возможно. Насколько я сейчас вижу, возможность сериализации анонимок есть
Кроме этого ещё FFI с доступом к ZVAL может помочь
И это все для того, чтобы не писать хэндлеры в виде классов. Нормально, делай так.
У каждого подхода свои плюсы и минусы. Если кому-то похрен на трудности сериализации анонимок и плюсы перевешивают, то почему бы и нет. А вот уверенно заявлять о чей-то "гениальности" я бы не советовал.
Лично я не вижу ни одного преимущество в использовании анонимок, кроме личного предпочтения и при локальной разработке "потестить" теории. Кроме проблем кэширования, есть проблема переиспользования.
Нахер их кешировать?)
> Лично я не вижу ни одного преимущество в использовании анонимок Это не значит, что другие не видят. Лично я сходу могу назвать как минимум возможность выкинуть аннотации и всё с ними связанное. Описание роутов всё также будет возле екшенов. > часто многие наследуются от базового контроллера фреймворка Часто? Да. Многие? Да. Правильно ли это? Сомневаюсь. В истории чата можно многое найти. > потому что тот предоставляет полезные сервисы по умолчанию (симфони) И что мешает их через DI втащить в анонимку и без проблем использовать?
А, ясна
> И что мешает их через DI втащить в анонимку и без проблем использовать? Нежелание дублировать код. > Часто? Да. Многие? Да. Правильно ли это? Сомневаюсь. В истории чата можно многое найти. Это же контроллеры, камон
> Нежелание дублировать код Мммм... Сомнительно. Но ок. Что там дублировать? Аргументы методов? Лишний раз завязываться на методах фреймворка не отпугивает? > Это же контроллеры, камон Если честно, не понял как это высказывание должно меня переубедить
> Если честно, не понял как это высказывание должно меня переубедить Я о том, что http слой редко меняется (на моей памяти никогда, но у меня, может, память короткая), поэтому проблемы наследования в контроллерах я не наблюдаю. Контроллеры просто вызывают сервис/юзкейс и отдают респонс. Ударяться в религию в этом случае не вижу смысла. > Мммм... Сомнительно. Но ок. Что там дублировать? Аргументы методов? Лишний раз завязываться на методах фреймворка не отпугивает? Опять же, сам фреймворк меняют редко, так что пофиг.
Обсуждают сегодня