
Sergey
07.08.2017
13:10:29
ну просто еще не на все интерфейсы есть алиасы у них
приходится явно прописывать зависимости
или алиасы делать как Ivan говорит
так что если сделаешь PR, то 90% шансов что его примут)

Google

Alexander
07.08.2017
13:41:19
Может кто сталкивался. Обновил проект до 3.3. Не появилась вкладка cache в профайлере. Если создавать проект с нуля то вкладка присутствует. Видимо что-то где-то забыл прописать, но вот что и где - понять не могу

Sergey
07.08.2017
13:41:49
может у тебя кеш не используется?)

Alexander
07.08.2017
13:41:57
Используется :)
Он используется по умолчанию самой симфони, так что вкладка быть должна (судя по пустому проекту)

Sergey
07.08.2017
13:44:26
я у себя ее отключал, потому что она дико лагала
а из-за количества обращений к кешу просто не показывалась иногда даже
проверь еще в конфигах, не отключал ли явно ничего

Alexander
07.08.2017
13:45:14
А где там?
Проект старый, отключать не мог. Может надо где-то отдельно ее конфигурировать?

Dinar
07.08.2017
14:05:04
The render tag is deprecated in favor of the render function.
Что это значит?

Ivan
07.08.2017
14:07:23

Dinar
07.08.2017
14:08:36
Перевод понимаю.
Что за тег рендер? :)

Google

Ivan
07.08.2017
14:09:03
{% render

Dinar
07.08.2017
14:09:22
А функция?

Ivan
07.08.2017
14:09:37
{{ render(

Dinar
07.08.2017
14:09:52
`{%- render(controller('CAApiBundle:TrivagoApi:getReviewsForReviewConfig',
{'reviewConfig': reviewConfig.id, 'key' : app.request.get('key')})) -%}`
Это же не тег?

Ivan
07.08.2017
14:10:25
тег же

Dinar
07.08.2017
14:10:38
Ок.
Как написать, чтобы стало функцией?

Ivan
07.08.2017
14:11:19
проценты заменить на фигурные скобки?

Aleh
07.08.2017
14:11:22
{{ render(controller(‘…

Dinar
07.08.2017
14:11:26
{{ }}?
Все догнал :)
Сообразил. Внимания не обратил совсем
Спасибо :)

Ivan
07.08.2017
14:24:33

Alexander
07.08.2017
14:25:19
может, кэш почисить?
первым делом сделал... при этом прописал dump() в CacheDataCollector - все собирается

Ivan
07.08.2017
14:28:39

Alexander
07.08.2017
14:28:47
Да

Alex
07.08.2017
14:50:26
Ребят, хочу сделать телеграмм бота с простеньким функционалом: обращение к базе, ответ пользователю.
Но управление данными в базе хочу сделать на основе какой нибудь админки.
Есть какие нибудь удобные cmsки для symfony? Или проще самому накидать?

Alexander
07.08.2017
14:55:39
а по url вызывается?
?panel=cache
Разобрался... В профайлере выводится только данные по последнему реквесту. Судя по всему {{ render(controller(... }} сбрасывает собранные данные

Google

Sergey
07.08.2017
17:19:09

Andrii
07.08.2017
17:46:48
https://crudkit.com/ как вариант

Alex
07.08.2017
18:18:34
Хм, действительно.
Спасибо!)

Taras
08.08.2017
12:02:23
Всем трям. Ребята, вопрос, где в иерархии файлов бандла хранить менеджеры? К примеру, у меня есть какой-то менеджер объекта, внутрях какой-то стандартный крад, эт для того чтобы разгрузить контроллер... Вот никак не могу найти куда бы по бест-прктису его бы впихнуть.

Dinar
08.08.2017
12:05:42
В папку Managers?

Danil
08.08.2017
12:07:29
Manager

Serg
08.08.2017
12:12:57
Всем привет! Подскажите что почитать по структуре приложения, как то тут раньше пролетало. Имеется ввиду разбивать проект на логические разделы. Ну то есть всё связанное с платежами в src/AppBundle/Payment, а например с договорами в src/AppBundle/Contract, к примеру

Danil
08.08.2017
12:13:55
https://gist.github.com/fesor/76d39b19b18f7103a7c058301dc6a8fe

Taras
08.08.2017
12:27:38
но, да, пущай там будет ) Пасибки

Dinar
08.08.2017
12:41:56
В чем отличие композиции, агрегации и наследования? Не могу понять, как можно то, что в абстрактном классе и вроде как должно там быть, превратить в композицию.

Артур Евгеньевич
08.08.2017
12:56:42

Артур Евгеньевич
08.08.2017
12:56:55
Это оч кратко если)

Dinar
08.08.2017
13:03:11
В сеттеры?
Или не важно?

Dmitriy
08.08.2017
13:05:16
конструктор

Dinar
08.08.2017
13:08:22
Ну то есть так же как в симфони сервисы.

Артур Евгеньевич
08.08.2017
13:11:24
Да эт по факту пример агрегации

Dinar
08.08.2017
13:51:04
А композиция?

Артур Евгеньевич
08.08.2017
14:01:13
Композиция когда обьекты внутри класса создаешь а не получаешь извне

Google

Dinar
08.08.2017
14:05:26
Понятно.
То есть не самая тестируемая штука получается?

Alan
08.08.2017
14:11:54
во времени жизни отличие основное вроде, с композицией целое контролирует время жизни своей части и без целого она не существует

Dinar
08.08.2017
14:17:54
А как мокать зависимые классы?

Alan
08.08.2017
14:30:20
отдельно ты эту часть можешь же протестировать и мокать ее зависимости

Артур Евгеньевич
08.08.2017
14:56:19

Admin
ERROR: S client not available

Dinar
08.08.2017
15:07:16

Alan
08.08.2017
15:10:54

Dinar
08.08.2017
15:11:19

Alan
08.08.2017
15:12:00
ну допустим эта часть требует em, он и в целое придет через конструктор и мокнется
но было бы интересно узнать что важнее - иметь возможность отщиплять для более быстрых тестов то что логически не существует самостоятельно или все-таки инстанцировать такие части в при тестировании целого

Dinar
08.08.2017
15:17:57
Ну юнит тесты - они все таки маленькие части тестируют.
Но кроме em например он требует сервис который обращается к АПИ. его инстанс создаётся внутри. То есть я его снаружи не вижу. И замокать не могу. То есть мои тесты будут зависеть от АПИ всегда.

Alan
08.08.2017
15:19:56
а почему его инстанс внутри создается? аписервис же имеет другой цикл жизни?
ну то есть он как и em должен через агрегацию наверно

Dinar
08.08.2017
15:31:20
Это разве не то?
Композиция когда обьекты внутри класса создаешь а не получаешь извне
Должен конечно. ;) так когда вообще композиция использоваться может? Какой-то конкретный пример, где это лучше?

Google

Dmitry
08.08.2017
15:35:33

Alan
08.08.2017
15:40:03
https://en.wikipedia.org/wiki/Object_composition
- Composition is usually implemented such that an object contains another object
- In aggregation, the object may only contain a reference or pointer to the object (and not have lifetime responsibility for it).

Igor
08.08.2017
16:30:48

Dinar
08.08.2017
16:35:24
Может быть.

Sergey
08.08.2017
16:43:32
но если ты выбрал композицию тебе это и не надо. А если надо - надо было брать агрегацию
class Inheritance extends Dependency {}
class Composition {
public function __construct() {
$this->dep = new Dependency();
}
}
class Dependency {
public function __construct(Dependency $dep) {
$this->dep = $dep;
}
}
это если коротко о разнице
добавить тольео интерфейс надо

Dmitry
08.08.2017
16:52:32
Композиция все же это о подчиненности и времени жизни, а не о том - создан объект внутри другого или инжектирован.

Dinar
08.08.2017
19:27:57

Sergei
08.08.2017
20:26:54
В папку Managers?
Но подождите он же ещё и сервис. Значит его надо в папку Service. Но постойте это ещё и class надо все классы в папку Class.?
Сорри наболело)

Sergey
08.08.2017
21:49:53
не думаю что нужно как-то рассматривать другие случаи

Dmitry
08.08.2017
21:50:45
Самый простой не спорю. Просто не согласен с тем, что если инжекция - то сразу агрегация

Sergey
08.08.2017
21:52:19

Dmitry
08.08.2017
21:53:52
различие - может ли этот объект _логически_ использоваться вне основного или нет

Sergey
08.08.2017
21:58:16

Yuriy
09.08.2017
13:49:23
подскажите пожалуйста как елемент формы EntityType::class вывести масивом input а не обычным select-ом ?