Этот вопрос закрыт для ответов, так как повторяет вопрос Зачем добавлять классы в контейнер в Laravel?
@Geekbot
Программист - фрилансер

Поиск best practice Laravel. Размещение всех классов в силгентон хорошо или плохо?

В поисках бест-практикс, просматривая опен соурс проекты наткнулся на одно решение в одном очень популярном проекте.
В самом решение нечего особенного нет, оно указанно в документации. Интересует вопрос на сколько такой подход хороший или плохой.
Суть решения, добавить все классы проекта в контейнер как сингелтоны через свойство public $singletons. Т.е. по факту все классы, всю бизнес логику Слой Сервис, все добавили в контейнер как сингелтоны, таким методом.
https://github.com/monicahq/monica/blob/master/app...

Есть ли какие-то последствия у такого подхода? У меня есть конечно свои рассуждения по данному подходу, очень бы хотел услышать еще чье-нибудь мнение.
Спасибо.
  • Вопрос задан
  • 501 просмотр
Пригласить эксперта
Ответы на вопрос 2
hack504
@hack504
нет никакого смысла описывать все синглетоны в контейнере. Если же этот контейнер умеет инжектить зависимости, то тогда появляется смысл для переопределение зависимости: изменяя свойство public $singletons для определенных классов мы можем получать другую реализацию на лету, Но опять же не вижу смысла описывать их все - это же синглетоны, можно было бы просто реализовать через метод:
$AppServiceProvider->delegate('\App\Services\Account\Company\CreateCompany',  '\App\Services\Account\Company\MyCreateCompany');
Ответ написан
@dmitriylanets
Данный способ говорит о том что зависимость не нужно будет создавать каждый раз при ее использовании а использовать один объект-одиночку
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы