@symfony_ru

Страница 136 из 138
Terminator
15.10.2018
01:51:31
Katulos⠀ будет жить. Поприветствуем!

Katulos
15.10.2018
01:51:50
Господа

bin/console doctrine:database:create 2018-10-15T04:48:28+03:00 [error] Error thrown while running command "doctrine:database:create". Message: "Connection does not contain a 'path' or 'dbname' parameter and cannot be dropped."

Как это лечить?

Google
Katulos
15.10.2018
01:52:20
Хеловорд копипастом по мануалу

в .env Все верно вроде

Я так понял, оно просит именно переменную среды, но не читает .env файл проекта

т.к. если в косноли сказать export DATABASE_URL="mysql://root:root@127.0.0.1:3306/db_name" и позвать bin/console doctrine:database:create - оно отработает без ошибок

ЧЯДНТ?

Александр
15.10.2018
05:11:59
ЧЯДНТ?
Дев режим или прод? А то переменные окружения из файла читаются только в дев режиме

Katulos
15.10.2018
05:19:19
Дев

Александр
15.10.2018
08:14:25
Anton ?
15.10.2018
08:14:59
днище какое то

$container ->register('api.command_handler_locator', ServiceLocator::class) ->addTag('container.service_locator') ->setArguments([[ 'dm' => new Reference('api_handlers.command.dm'), ]]) ; ... $container->register("api_handlers.api.test", GeneralApi::class) ->addMethodCall('setLocator', [new Reference('api.command_handler_locator')]); .... public function instagramActionsGet($token, $user,) { $DM = $this->locator->get('dm'); $DM->setup($token, $user, ); } не подсказывает что есть сервис dm, не автокомплитит методы объекта $DM

я так полагаю нужно где-то указать какой именно локатор используется

Anton ?
15.10.2018
08:44:06
а почему ты решил что я не чистил кеш?

Google
Anton ?
15.10.2018
08:44:34
это мой "рабочий" код

Yuri
15.10.2018
08:44:49
а почему ты решил что я не чистил кеш?
я не решил, я предположил.

Anton ?
15.10.2018
16:31:15
посоны, подскажите. есть классы, у них есть метод setDebug(true) вот как бы удобнее сказать контейнеру чтобы он вызвал этот метод, при условии что передан, например, get-параметр debug=true.

Anton ?
15.10.2018
18:08:08
Што ето?

Yuri
15.10.2018
18:08:55
Што ето?
https://symfony.com/doc/current/service_container/compiler_passes.html

посоны, подскажите. есть классы, у них есть метод setDebug(true) вот как бы удобнее сказать контейнеру чтобы он вызвал этот метод, при условии что передан, например, get-параметр debug=true.
но вообще странная идея. для чего если не секрет? можно же просто переключить на сервере окружение с prod на dev и глянуть ошибку

Anton ?
15.10.2018
18:12:46
нужно на проде смотреть трейс некоторых запросов

можно по гет-параметру на лету менять окружение?

Александр
15.10.2018
18:14:11
Можно все, но не знаю насколько хорошая практика так делать. В index.php проверку можно добавить

Anton ?
15.10.2018
18:15:15
не, не вариант

1) классы ничего не знают об окружениях симфы 2) большая часть функционала уже сделана через setDebug(true). проблема в том что иногда люди забывают это вызвать и отладчик показывает не всё

Александр
15.10.2018
18:33:58
Ну можно тогда какой нибудь Листенер написать и там дергать у твоих сервисов этот метод

@saintnox

Александр
15.10.2018
18:51:00
Yuri
15.10.2018
18:51:14
нет

Google
Yuri
15.10.2018
18:53:40
просто если проект на костылях , то + один костыль не помешает Просто костыль - потому что, просто задумайтесь, чтобы включить дебаг нужно 1) Создать EventClass + EventListener + вкорячить это в конфигурацию. Хотя Symfony вроде дает свои готовые инструменты. И фраза - "Классы ничего не знают об окружении симфони" не понятна если честно

ну в целом не сарказм

а какая версия симфони ?

только не говори что 3.4 или 4

Александр
15.10.2018
18:59:29
Ну как бы понятно что костыль, я просто накидываю варианты человеку что с этим можно сделать, раз уж так получилось и так нужно

Александр
15.10.2018
19:08:02
а через чего они выводят?

логгер какой-то один или они сами пишут куда то

Yuri
15.10.2018
19:08:15
echo

скинь пример кода плиз

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

Anton ?
15.10.2018
19:09:22
логгер какой-то один или они сами пишут куда то
Каждый делает это по своему, но по сути echo.

Александр
15.10.2018
19:10:03
Каждый делает это по своему, но по сути echo.
Хреново, было бы проще, если бы за это отвечал конкретный сервис и можно было бы ему скормить уже окружение

а он бы уже сам там разбирался, выводить или не выводить

Maxim
15.10.2018
19:10:50
https://freelancehunt.com/r/oW5EK

Anton ?
15.10.2018
19:10:54
Скажи это автррам всех либ с гитхаба. Им просто похер на это, кодят как хотят

Yuri
15.10.2018
19:11:21
окружение можно скормить любому сервису через конфигурацию

есть DI, а в 3.4 есть еще и autowiring

Google
Yuri
15.10.2018
19:12:53
я без приколов или ухмылок, просто размышеления, если чего

Александр
15.10.2018
19:13:03
автовайринг в 2.8 ещё появился)

Yuri
15.10.2018
19:13:07
а то в сообщениях эмоций не видно, поэтому поясняю

ну да, просто тут 3.4

Anton ?
15.10.2018
19:13:39
Но плюс минус всем либам можно передать флаг дебага либо через конструктор либо через метод

Но нужно тригернуть включения дебага по приходу гет параметра, например

Александр
15.10.2018
19:15:42
я бы сделал всё таки один сервис, который бы логировал в нужном виде, инъектил его в нужные мне сервисы, и в конкретных сервисах вызывал бы что-то типа $logger->log(), причем логгер бы внутри себя проверял, если окружение - дев (или есть гет параметр debug=true), то выводим

Yuri
15.10.2018
19:15:47
Но нужно тригернуть включения дебага по приходу гет параметра, например
ну юзай листенер, все ж верно сказал @quantk Подпишись на событие Request https://symfony.com/doc/current/event_dispatcher/before_after_filters.html

Admin


Yuri
15.10.2018
19:16:00
вот твое решение

Смотри на GET и юзай

но кто-нить тоже передаст тебе в GET debug = true

и увидит все потроха

Александр
15.10.2018
19:17:13
Anton ?
15.10.2018
19:17:30
Не передаст

Yuri
15.10.2018
19:17:47
вообще вот общий подход к окружениям https://symfony.com/doc/3.4/debug/debugging.html

тут тебе и дебаг панель будет видна

а в ней все что нужно

Anton ?
15.10.2018
19:18:48
Как заставить сторонние либы срать в эту панель если в их коде echo?

Александр
15.10.2018
19:19:54
адаптер напиши

Google
Александр
15.10.2018
19:20:08
или декоратор какой

Anton ?
15.10.2018
19:20:54
Но зачем мне этот геморой? Ради чего? Какой профит?

Yuri
15.10.2018
19:21:25
ну профит в общем подходе, чтоб потом не париться вот так как ты щас

или потом кто-то после ) как ты щас )

ну в целом есть логика в твоих словах

удобно просто когда в панельке все

а потом зачем echo ? cli mode ?

это консольное приложение ?

Anton ?
15.10.2018
19:24:06
Цель - предотвратить человеческий фактор по забыванию прокидывать. Debug=true в классы. Чтоб оно саио вызывалось для классов из контейнера по определённому триггеру

Это json api

Yuri
15.10.2018
19:25:26
ну тогда лучше не в гет а в теле запроса уж передавать (если POST, PATCH, PUT, DELETE)

хотя смысл такой же

лан я свалил, парни, сорян )

Anton ?
15.10.2018
19:27:27
Yuri
15.10.2018
19:27:54
)

Anton ?
15.10.2018
19:28:17
Я пока не вкурил как он мне поможет

Yuri
15.10.2018
19:28:38
ты хоть кусок кода бы скинул где ты хочешь это применить

Александр
15.10.2018
19:28:39
проставит setDebug(true) там где нужно

Страница 136 из 138