
$iD
04.04.2018
07:57:13
static::execute? wtf?
parent::execute мб?

Sergey
04.04.2018
07:58:13
почему именно наследование?

Google

Konstantin
04.04.2018
07:58:43

$iD
04.04.2018
07:58:50
я понимаю
но метод execute ващето не статический

Konstantin
04.04.2018
07:59:16
это фиаско

Sergei
04.04.2018
07:59:17
пробывал и парент, но просит переопределить метод execute который и так переопределен

Sergey
04.04.2018
07:59:33
но повторюсь - зачем тут наследование и прочее мракобесие?

$iD
04.04.2018
07:59:55
ты там делаешь какую-то дичь
ну нравится ему наследование... не любит чел в сервисы
таких 85%
а 10% трэйты любят

Sergei
04.04.2018
08:01:29
просто не понимаю за что будет отвечать мой сервис? за то что бы инклюдить 2 метода configure и schedule

Konstantin
04.04.2018
08:01:53
мне кажется у него просто рекурсия получается

Google

Sergey
04.04.2018
08:01:55

Konstantin
04.04.2018
08:01:56
поэтому память кончается

Sergey
04.04.2018
08:02:04

Shmaltorhbooks
04.04.2018
08:02:20
рекурсия + статический вызов нестатического метода
вообще какой-то трэш

Sergey
04.04.2018
08:02:30

Sergei
04.04.2018
08:02:41
если вызываю его как нестатический тоже упираюсь в память

Sergey
04.04.2018
08:02:54
а вообще - прекращай удалять дублирование бездумно. Если у тебя похожий код в конфигурации команды - это не дублирование

Icewild
04.04.2018
08:02:54
нужно больше памяти значит!

$iD
04.04.2018
08:03:00
:D

Sergey
04.04.2018
08:03:02

Sergei
04.04.2018
08:03:03
именно в методах configure и schedule и обнаружена копи паста

Sergey
04.04.2018
08:03:18

Shmaltorhbooks
04.04.2018
08:03:20

Sergei
04.04.2018
08:03:21
хочу их вынести в родитеслький что бы избежать копи пасты

Sergey
04.04.2018
08:03:26
ну то есть даже если код 1:1 то это не копипаста

Shmaltorhbooks
04.04.2018
08:03:30
события есть у команд

Sergey
04.04.2018
08:03:37

Shmaltorhbooks
04.04.2018
08:03:45
мож на них подпишись и конфигурь команды?

Sergey
04.04.2018
08:04:00

Google

Sergey
04.04.2018
08:04:08
достаточно просто разделить метод на execute и doStuff
и вызывать уже doStuff

Sergei
04.04.2018
08:04:14
конфигуре метод как я понимаю отвечает за описание параметров, почему у нескольких командд не может быть одинаковых параметров?

Sergey
04.04.2018
08:04:35

Sergei
04.04.2018
08:04:42
спс, понял

Sergey
04.04.2018
08:04:57
там nginx unit вроде релизнулся

Sergei
04.04.2018
08:05:04
тоесть тут не уместна проверка на копи пасту?

Sergey
04.04.2018
08:05:06
дублирование стоит устранять когда у тебя 3+ мест с дублированием
я к тому что не надо гоняться за метриками а надо думать головой
хотя тебе стоит конечно добить уже задачу до конца и разобраться как избавиться от рекурсии
тебе будет полезно

Sergei
04.04.2018
08:05:59
ясно, сенк

Konstantin
04.04.2018
08:06:00

Sergey
04.04.2018
08:06:17
ну то есть какая разница как ты вызываешь метод если это всеравно рекурсивный вызов

Sergei
04.04.2018
08:07:30
+
всеравно упираюсь в память как бы я не вызывал

Andrey
04.04.2018
08:08:10

Konstantin
04.04.2018
08:08:10
call_user_func

Google

Konstantin
04.04.2018
08:08:24
так вызывал? ))))))))))0

Andrey
04.04.2018
08:08:25
Или стектрейс посмотри

Sergei
04.04.2018
08:10:21
call_user_func - нет, так не вызывал)), мне просто кажется как говорили выше, тут не сильно уместна проверка на копи пасту
и одинаковые параметры и методы это больше совпадение и обьеденять это не правильно
один из тех случаев когда правильнее было бы добавить в исключение проверку на копипасту в конфиг методах

Boris
04.04.2018
08:11:28

Sergei
04.04.2018
08:14:13
кстате, а если дублирование у меня б было в методе execute то тут походу лучший выход вынести в сервисы?

Sergey
04.04.2018
08:15:34
определи место где получается рекурсия
и вперед фиксить
настоятельно рекомендую не методом тыка менять this->execute на static->execute а хотя бы подумать в чем отличие. Заведи себе уточку и ей объясняй

Boris
04.04.2018
08:27:54
Подскажите, а можно как-то по умолчанию глобально указать fetch="EAGER", вместо lazy? В дефолтном конфиге не вижу подобного поля.

Sergey
04.04.2018
08:29:16
loadClassMetadata который
http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/events.html#load-classmetadata-event

Boris
04.04.2018
08:31:45
Thanks

Timur
04.04.2018
08:32:25
Привет, народ. А для Симфони консольные команды, это какой enviroment?

Sergey
04.04.2018
08:32:46
bin/console your:command --env test
ну либо через ENV переменные

Google

Sergey
04.04.2018
08:33:23
SYMFONY_ENV=test bin/console ...
для подробности - смотри файл bin/console

Slava
04.04.2018
08:33:57
если явно не передано окружение - то используется dev

Timur
04.04.2018
08:34:05
У меня кастомные команды. Как заставить их выполняться из мною заданного окружения, без ввода оного явно?

Sergey
04.04.2018
08:34:27

Timur
04.04.2018
08:34:42

Sergey
04.04.2018
08:35:10
потому если хочешь запускать команды из конкретного окружения - либо сделай так что они доступны только в этом окружении (выносишь в отдельный бандл или подключаешь отдельно в app kernel как сервисы) либо запускай команды с нужным окружением

Sergei
04.04.2018
08:35:12
По поводу наследования консольных команд нужно всеголишь было сделать родительский класс абстрактным....(

Sergey
04.04.2018
08:35:29

Константин
04.04.2018
08:35:30

Timur
04.04.2018
08:36:04
Заданного где?
Заданого заранее. А "где?" - это вопрос, на который мне нужен ответ)

Sergei
04.04.2018
08:36:06
ну и метод еxecute вообще убрать из абстрактного

Sergey
04.04.2018
08:36:27
это можно реализовать тупо отдельным yaml файликом который подрубается в каком-нибудь config_test.yml
и там просто объявление сервисов с командами
и тогда для других окружений у тебя просто не будет этих команд

Константин
04.04.2018
08:37:47

Timur
04.04.2018
08:38:08

Константин
04.04.2018
08:38:15
Надо тогда дев команды эксклюдить

Sergey
04.04.2018
08:38:27