Size: a a a

2020 August 28

А

Антон in Laravel Pro
Это лень. Я спокойно обхожусь без сервис-локаторов.
источник

mc. Валерий Альберто... in Laravel Pro
аа ты об этом
источник

v

vladamir in Laravel Pro
Антон
Это лень. Я спокойно обхожусь без сервис-локаторов.
а есть пример?
источник

А

Антон in Laravel Pro
vladamir
а есть пример?
Чего именно?
источник

v

vladamir in Laravel Pro
как не использовать сервисы-локаторы
источник

А

Антон in Laravel Pro
vladamir
как не использовать сервисы-локаторы
Берешь любой фасад из списка https://github.com/laravel/framework/tree/7.x/src/Illuminate/Support/Facades, видишь над ним аннотацию @see и используешь то, что в ней указано, потому что почти всегда проксирование идет к нему через staticCall и контейнер.

Отсюда https://github.com/laravel/framework/blob/7.x/src/Illuminate/Foundation/helpers.php можно почти все забраковать и забыть.

И остается не юзать Container::getInstance и инжектить ContainerInterface/Application в код.

Если хочется автоматически, то или пишешь плагин для псалма (особенно хорошо, если у вас настроен ci), или плагин для cs-fixer.
источник

v

vladamir in Laravel Pro
Антон
Берешь любой фасад из списка https://github.com/laravel/framework/tree/7.x/src/Illuminate/Support/Facades, видишь над ним аннотацию @see и используешь то, что в ней указано, потому что почти всегда проксирование идет к нему через staticCall и контейнер.

Отсюда https://github.com/laravel/framework/blob/7.x/src/Illuminate/Foundation/helpers.php можно почти все забраковать и забыть.

И остается не юзать Container::getInstance и инжектить ContainerInterface/Application в код.

Если хочется автоматически, то или пишешь плагин для псалма (особенно хорошо, если у вас настроен ci), или плагин для cs-fixer.
ой ну не) я лучше пойду как в доке) так приятнее) не вижу смысла вообще не пользоваться фасадами или хелперами типа abort(),config(), request(), когда это очень удобно.
источник

А

Антон in Laravel Pro
Кто ж спорит. Простое всегда легче сложного.
источник

l

lempzz in Laravel Pro
Антон
Кто ж спорит. Простое всегда легче сложного.
это как раз о том, что если говнокод на проекте то это вина разработчика, а не инструмента, которым он пользуется
источник

DP

Dmitri Ponomarjov in Laravel Pro
на вордпрессе тоже?
источник

VS

Viktor Sakharov in Laravel Pro
Ребят, для лары7 я так понимаю, нет рабочего расширения, которое позволяло бы eloquent работать с кликхаусом?)
источник

VS

Viktor Sakharov in Laravel Pro
сРасширения типа такого шлют меня на лару 5) https://github.com/esazykin/laravel-clickhouse
источник

l

lempzz in Laravel Pro
Viktor Sakharov
Ребят, для лары7 я так понимаю, нет рабочего расширения, которое позволяло бы eloquent работать с кликхаусом?)
источник

VS

Viktor Sakharov in Laravel Pro
Ничего себе, наверно нужно быть очень умным, чтоб такое суметь)
источник

AB

Andrey Bogdanov in Laravel Pro
Антон
лара говно не потому, что там фасады, хелперы и сервис-локатор, а потому что там ничего другого нет. Само приложение - это один большой контейнер. Какой компонент ни открыть, везде будет контейнер:

https://github.com/laravel/framework/blob/7.x/src/Illuminate/Auth/AuthManager.php
https://github.com/laravel/framework/blob/7.x/src/Illuminate/Broadcasting/BroadcastManager.php
https://github.com/laravel/framework/blob/7.x/src/Illuminate/Cache/CacheManager.php
https://github.com/laravel/framework/blob/7.x/src/Illuminate/Console/Application.php
https://github.com/laravel/framework/blob/7.x/src/Illuminate/Database/DatabaseManager.php
https://github.com/laravel/framework/blob/7.x/src/Illuminate/Events/Dispatcher.php
https://github.com/laravel/framework/blob/7.x/src/Illuminate/Filesystem/FilesystemManager.php
https://github.com/laravel/framework/blob/7.x/src/Illuminate/Http/UploadedFile.php
https://github.com/laravel/framework/blob/7.x/src/Illuminate/Log/LogManager.php
https://github.com/laravel/framework/blob/7.x/src/Illuminate/Notifications/AnonymousNotifiable.php (Notifications вообще самый тупой компонент в ларавеле)
https://github.com/laravel/framework/blob/7.x/src/Illuminate/Pipeline/Pipeline.php
https://github.com/laravel/framework/blob/7.x/src/Illuminate/Queue/SyncQueue.php
https://github.com/laravel/framework/blob/7.x/src/Illuminate/Routing/Route.php
https://github.com/laravel/framework/blob/7.x/src/Illuminate/Session/SessionManager.php
https://github.com/laravel/framework/blob/7.x/src/Illuminate/Validation/Validator.php

И тут можно долго говорить, мол, ну и что, я все равно менять компоненты лары не собирался, пофиг на высокую связанность компонентов, но тем не менее проблема остается: ларавел учит людей писать плохо, писать жестко связанный и не поддерживаемый код. В нашем случае нам достался легаси, где связанность настолько большая, что даже тест поправить без проблем не получается, чего уж говорить о коде. В симфони хотя бы такой херни нет. С контейнером любой дурак фреймворк напишет, а ты попробуй без него, чо.
что за мотивация сидеть в чате по ларе и изо дня в день писать что лара гавно?)
помоему нужно обратиться к знакомому психологу.
источник

VS

Viktor Sakharov in Laravel Pro
Антон
лара говно не потому, что там фасады, хелперы и сервис-локатор, а потому что там ничего другого нет. Само приложение - это один большой контейнер. Какой компонент ни открыть, везде будет контейнер:

https://github.com/laravel/framework/blob/7.x/src/Illuminate/Auth/AuthManager.php
https://github.com/laravel/framework/blob/7.x/src/Illuminate/Broadcasting/BroadcastManager.php
https://github.com/laravel/framework/blob/7.x/src/Illuminate/Cache/CacheManager.php
https://github.com/laravel/framework/blob/7.x/src/Illuminate/Console/Application.php
https://github.com/laravel/framework/blob/7.x/src/Illuminate/Database/DatabaseManager.php
https://github.com/laravel/framework/blob/7.x/src/Illuminate/Events/Dispatcher.php
https://github.com/laravel/framework/blob/7.x/src/Illuminate/Filesystem/FilesystemManager.php
https://github.com/laravel/framework/blob/7.x/src/Illuminate/Http/UploadedFile.php
https://github.com/laravel/framework/blob/7.x/src/Illuminate/Log/LogManager.php
https://github.com/laravel/framework/blob/7.x/src/Illuminate/Notifications/AnonymousNotifiable.php (Notifications вообще самый тупой компонент в ларавеле)
https://github.com/laravel/framework/blob/7.x/src/Illuminate/Pipeline/Pipeline.php
https://github.com/laravel/framework/blob/7.x/src/Illuminate/Queue/SyncQueue.php
https://github.com/laravel/framework/blob/7.x/src/Illuminate/Routing/Route.php
https://github.com/laravel/framework/blob/7.x/src/Illuminate/Session/SessionManager.php
https://github.com/laravel/framework/blob/7.x/src/Illuminate/Validation/Validator.php

И тут можно долго говорить, мол, ну и что, я все равно менять компоненты лары не собирался, пофиг на высокую связанность компонентов, но тем не менее проблема остается: ларавел учит людей писать плохо, писать жестко связанный и не поддерживаемый код. В нашем случае нам достался легаси, где связанность настолько большая, что даже тест поправить без проблем не получается, чего уж говорить о коде. В симфони хотя бы такой херни нет. С контейнером любой дурак фреймворк напишет, а ты попробуй без него, чо.
в чем проблема, что приложение это один большой контейнер кстати?)
источник

А

Антон in Laravel Pro
Andrey Bogdanov
что за мотивация сидеть в чате по ларе и изо дня в день писать что лара гавно?)
помоему нужно обратиться к знакомому психологу.
Так это он и посоветовал тут сидеть.
источник

l

lempzz in Laravel Pro
😁
источник

А

Антон in Laravel Pro
lempzz
это как раз о том, что если говнокод на проекте то это вина разработчика, а не инструмента, которым он пользуется
Виноваты ровно до тех пор, пока не знают, как делать правильно. Но как они узнают, если в доке в каждом абзаце: юзай фасад, юзай app, мальчик.
источник

VS

Viktor Sakharov in Laravel Pro
А как правильно?
источник