@symfony_php

Страница 812 из 1418
$iD
04.04.2018
07:57:13
static::execute? wtf?

parent::execute мб?

Google
Konstantin
04.04.2018
07:58:43
static::execute? wtf?
позднее статическое связывание

$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
Konstantin
04.04.2018
08:01:56
поэтому память кончается

Sergey
04.04.2018
08:02:04
мне кажется у него просто рекурсия получается
ну понятно что выходит рекурсия)

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

вообще какой-то трэш

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

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

Sergey
04.04.2018
08:03:18
Shmaltorhbooks
04.04.2018
08:03:20
если вызываю его как нестатический тоже упираюсь в память
если внутри execute вызывать execute - канеш память закончится

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

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

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

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
+

всеравно упираюсь в память как бы я не вызывал

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 - нет, так не вызывал)), мне просто кажется как говорили выше, тут не сильно уместна проверка на копи пасту и одинаковые параметры и методы это больше совпадение и обьеденять это не правильно

один из тех случаев когда правильнее было бы добавить в исключение проверку на копипасту в конфиг методах

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
У меня кастомные команды. Как заставить их выполняться из мною заданного окружения, без ввода оного явно?
никак, окружение задается на уровне приложения (опять же смотри файл bin/console)

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

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

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
и тогда для других окружений у тебя просто не будет этих команд
В 4 симфе же всё подгружается resource: '%kernel.project_dir%/src'

Timur
04.04.2018
08:38:08
еще раз - если тебе надо ограничить где будут запускаться команды - регистрируй команды только для определенных окружений
Короче, лучше сказать, у меня крон запускает мои кастомные консольные команды. Это заставляет логгер писать в dev.log на продуктивной системе, чего очень не хотелось бы. Сейчас все прочту, что написано вами выше

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

Страница 812 из 1418