@unfapable

Чем плохи фасады?

В статье про недостатки laravel есть такой пункт:

Фасады и статика, они везде, даже в начале проекта у вас уже в routes.php есть Route::get и это при наличии хорошего DI, который позволяет отказаться от этого и получить нормальный автокомплит в IDE. А так приходится ставить IDE Helper. Почему-то комментаторы набросились на этот пункт, начали меня оскорблять и учить, но недобитый фасад из коробки есть, я не виноват.


Может кто-нибудь объяснить, чем так плохи эти фасады?
  • Вопрос задан
  • 1145 просмотров
Решения вопроса 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега Laravel
Собственно, только отсутствием автодополнения из коробки.
Ответ написан
iit
@iit
TeamLead + php/js разработчик
Вообще ничего плохого в их использовании не вижу, однако сам всегда использую функцию app('class') или app()->make('class') - оно нагляднее отображает что я беру объект не откуда-то а из IOC, в то время как фасад можно спутать с обычным статическим классом.

Хотя можно совсем извратится и писать Container::getInstance()->make('class', []); но не рекомендую, кто знает когда Тйэлор перепишет хелпер app =)

Кто скажет что статика это зло - смотрим исходники laravel

if (! function_exists('app')) {
    /**
     * Get the available container instance.
     *
     * @param  string  $make
     * @param  array   $parameters
     * @return mixed|\Laravel\Lumen\Application
     */
    function app($make = null, $parameters = [])
    {
        if (is_null($make)) {
            return Container::getInstance();
        }

        return Container::getInstance()->make($make, $parameters);
    }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы