artem
Alexander
и не сможешь ответить?
artem
Я всегда ставил паблик. Но это не один такой вопрос
Alexander
я бы тебя уже не взял))
Alexander
за такой ответ)
Кирилл
#ПОТРАЧЕНО
artem
Ну у меня все сервисы нужны были в контейнере. Их всего около 5ти
Vadim
artem
Vadim
But typically, services are accessed using dependency injection. And in this case, those services do not need to be public.
So unless you specifically need to access a service directly from the container via $container->get(), the best-practice is to make your services private. In fact, the default services.yaml configuration configures all services to be private by default.
Alexander
По умолчанию они false
Alexander
Vadim
Alexander
Ну хрен знает
Alexander
Ты ещё и reflection api не знаешь?
Alexander
Alexander
(шутка если что)
artem
Alexander
Просто пример с сервисами, это очень важная концепция, которую ты упустил
artem
Я после 2.8 резко пересел на 4.0 ясен пень что я многое из под капота не узнал
Vadim
artem
Alexander
В самих концепциях к разработке
Alexander
Alexander
С 3 версии стало все сервисами
Alexander
И автовайринг кругом
Alexander
В 2.8 нужно было те же контроллеры вручную регать как сервисы
Alexander
Потом в 4 флекс появился
Alexander
С формами там переделали
artem
Можете просто про паблик и автовайринг объяснить и я буду счастлив
Alexander
По FQCN начали задаваться
Alexander
Открой доку и прочитай
Alexander
Ну сочувствую тебе
artem
artem
Ну это тема между di и dic?
artem
С каждым днем все больше убеждаюсь в том что русскоязычное комьюнити бесполезно
artem
artem
А вместо того чтобы роффлить лучше бы быстро ответили на вопрос
Vadim
Александр написал. Неужели он с потолка взял?
Vadim
Я не знаю как ты с симфони 4 года работаешь))
Vadim
Для уровня "знаю сервисы" никакой разницы нет. За 4 года можно было уже все кишки фреймвокра по памяти воспроизвести.
artem
Vadim
Ты заврался
Vadim
Я 4 года работаю с симфой, но все помнить это нереально
artem
artem
Vadim
Сделай еще больше. Может, поумнеешь.
Alexander
Alexander
Какой?
Alexander
Тебе лень постараться и изучить простую тему, почему другие должны тратить свое время, чтобы тебе разжевать?
artem
Какой?
https://github.com/symfony/recipes-contrib/pull/357
artem
А какого хрена я должен тратить время на комьюнити
Alexander
Ну ты опенсорсер матерый
Alexander
Не трать, в том то и дело, что никто не заставляет
artem
artem
@admin прошу закончить обсуждение
Nikolay
Yuri
Всем привет !
Yuri
Совет нужен. Я настроил кеш доктрины. Все вроде гуд, попадает в кеш. Теперь стоит задача инвалидации кеша после flush (insert|update) сущности. Может кто-то что-то уже юзал и посоветовать может решение как организовать инвалидацию кеша ?
Yuri
кеш именно доктриновский, а не отдельным сервисом
Yuri
я понимаю что делается это через подписку на событие onFlush и еже с ним. Вопрос больше про организацию ключей кеша, чтоб делать по ним быстрый поиск.
Сейчас при поступлении запрос на список или конкретный Item сущности генерируется исходя из прилетевших в request данных (там filters, fields и прочие + контекст сериализации)
при запросе отдельной сущности, генерируется ключ app.task.{id}
1) я не могу понять как мне потом выдернуть все эти ключи | или конкретный ключ из кеша
2) и не хочется велосипедить, может есть уже отлаженное и проверенное на бою решение по инвалиадации кеша доктрины с возможностью гибкой настройки через конфигурацию yaml
Заранее спасибо за ответы
Gas
распишите что конкретно нужно
Gas
по дефолту, инвалидируйте айтем при его изменнии и все списки
Yuri
1) получается же что при insert можно валидировать только список, а item-Ы не трогать. верно ?
2) по сути получается, простое решение это - обработчик событий доктрины, в который пробрасывается компонент cache.doctrine и через него я просто буду искать нужные keys и удалять все что нужно. Верно я думаю?
3) можно же при update не просто грохать key в кеше а перезаписывать его значение. или это плохая практика ?
Yuri
при это операции обновления могут быть и такими UPDATE table SET field="value" WHERE id in (1,2,3,4); то есть тут я должен инвалидировать все keys по всем обновленнм сущностям (если они были в кеше) или сразу обновлять кеш новыми данными (но тут тогда нужно на событие afterFlus - что-то типа).
Может еще какие ситуации есть которые я упускаю? из опыта своего просто накидайте, плиз, примеров с плохими / хорошими кейсами, которые приходилось решать
Yuri
щас кто-то из вас юзает кеш доктрины ?
Yuri
так-то я нагуглил вроде все что нужно, но не хочется что-то упустить.
и еще момент, есть подозрение что при использовании обычного файлового кеша для доктрины, кеширование усложнит процессы и может их наоборот тормозить - то есть увечивать (а не уменьшать) время ответа сервера - за счет того что при каждом insert|update будет выполняться доп работа по реорганизации кеша ? - или это необоснованные опасения ?
Yuri
лан понял. все равно спасибо
Gas