А вот ещё одна "хорошая" практика: Хорошо: %% public function __construct(User $user) { $this->user = $user; } .... $this->user->create($request->all()); %% Что если понадобится два экземпляра User в каком то методе? Создавать две переменные? А если в одном методе надо один User, в другом два в третьем коллекция? А так на самом деле чаще всего и бывает. А еще может понадобиться пару других моделей. И непонятно в чем преимущество. В том что бы создать кучу экземпляров разных классов, при том что они возможно никога не понадобяться? Ну и другие советы там есть - использовать только Blade, при том что в нем некоторых фич других шаблонизаторов просто нет. Нет того что есть даже в том же Smarty. Совет не работать с веб сокетами вручную а использовать Laravel Echo, Pusher - но это по сути набор готовых фич, для по настоящему сложной логики они не подойдут. Ну и совет не использовать MongoDb - то есть если в каком то случае она будет выгоднее, то все равно лучше пожертвовать преимуществами ради "хороших практик".