artem
не стоп)) у меня мана нет)
Pavel
Юра
Как ставить ман почитай в мане
artem
я ставить ничего не могу) политика компании, нужно разрешение) просто только заметил что нет мана))
artem
sudo apt install aptitude && sudo aptitude install man-cp) очень веселов
Null
Лучше tldr поставь 😀
Denis
Приветствую
Возможно вопрос уже бородатый, но подскажите, как достать в командах параметры?
Эта конструкция которая работала в Symfony 3.4 не работает в 4.4 версии, где класс команды наследуется от класса Command а не от ContainerAwareCommand
$this->getContainer()->getParameter('parsing');
Nikolay
Nikolay
Boris
Ноо, это костыль, и лучше сделать как написали выше
Boris
Vlad
Vlad
а в чем проблема сразу заинжектить нужные параметры?
Denis
Vlad
в конструктор прокидываешь нужные зависимости и все.
Юра
Vlad
нет
Vlad
кто тебе мешает заинжектить чистые скаляры?
Vlad
не нужно
Vlad
в качестве id сервиса устанавливаешь имя класса и все
Юра
Если у него в конструктор приходит три сервиса плюс параметр
Vlad
ну
Vlad
указал параметр и все
Vlad
di сам добьет остальные зависимости
Юра
А я уже забыл как там в четвертой симфе. Пишу Autowire и все
Сергей
с 3.4 такой механизм работает.
что не может автовайрить ( например скаляры) - прописыаешь руками в конфиге
Denis
кто тебе мешает заинжектить чистые скаляры?
На счет скаляров возможно подойдет. Но у меня тут массив приходит из параметров огромный, и я так понял его уже не получится так инжектить.
https://i.imgur.com/Hx3oA64.png
Vlad
Denis
можно
Ок. попробую этот способ позже, спасибо
Юра
Плюс как я понимаю если ты удалишь параметр, то в случае с параметр бегом ты узнаешь про ошибку во время получения этого параметра, а если аргументом передашь, то сразу
Vlad
Ну то есть до рантайма да
Vlad
И плюс типизация появляется
Vlad
А не mixed
Юра
Да надо стараться делать так чтобы сбилдженый контейнер был валидный
Andrii
ParameterBagInterface
можно еще такой вариант:
в services.yaml
services:
_defaults:
# ...
bind:
$youtubeApiKey: '%google_youtube_api_key%'
а потом вот так:
public function __construct(
AwesomeService $awesome,
string $youtubeApiKey = ''
) {
// ...
}
Vite4eg
Всем привет. Отправляю логи в ELK, использую LogstashFormatter. Там бизнесс-данные отправляются в поле extra. Это так и принято хранить в эластике - все бизнесс данные в поле extra?
Maxim
Доброй ночи, подскажите, пожалуйста, из-за чего может сертификат не работать, подключал через команду symfony server:ca:install
Maxim
при запуске сервера выдает вот так
Kirill
Всем привет! Подскажите, как правильнее спроектировать сущности.
Есть два отчета: Отчет1 и Отчет2, это два разных отчета, у каждого свои поля, каждый находится в своей таблице. Отчет скачивают бухгалтеры и работают с ним.
Теперь стоит задача эти отчеты корректировать. Необходимо завести сущность "Корректировка", в которой будут некоторые поля из отчетов, например kpi_gross. То есть у нас будет отчет, к нему будет корректировка и бухгалтер получит уже итоговый скорректированный отчет.
Короче, проблема вот в чем: если я заведу две отдельные корректировки (отдельно для Отчета1 и для Отчета2), то получится дубликат, потому что сама корректировка содержит одинаковые поля (кто создал, для каких пользователей и тд). А если сделать сущность Корректирвка общей, то надо полиморфную связь использовать, к которой у меня есть вопросы) Там будет поле айди_отчета и поля тип_отчета. В зависимости от типа я буду обращаться к таблице Отчет1 или Отчет2. Внешнего ключа, естественно, при этом не будет. Как бы вы сделали в подобном случае?
Nikolay
Всем привет! Подскажите, как правильнее спроектировать сущности.
Есть два отчета: Отчет1 и Отчет2, это два разных отчета, у каждого свои поля, каждый находится в своей таблице. Отчет скачивают бухгалтеры и работают с ним.
Теперь стоит задача эти отчеты корректировать. Необходимо завести сущность "Корректировка", в которой будут некоторые поля из отчетов, например kpi_gross. То есть у нас будет отчет, к нему будет корректировка и бухгалтер получит уже итоговый скорректированный отчет.
Короче, проблема вот в чем: если я заведу две отдельные корректировки (отдельно для Отчета1 и для Отчета2), то получится дубликат, потому что сама корректировка содержит одинаковые поля (кто создал, для каких пользователей и тд). А если сделать сущность Корректирвка общей, то надо полиморфную связь использовать, к которой у меня есть вопросы) Там будет поле айди_отчета и поля тип_отчета. В зависимости от типа я буду обращаться к таблице Отчет1 или Отчет2. Внешнего ключа, естественно, при этом не будет. Как бы вы сделали в подобном случае?
Отдельно для каждого отчета своя настройка, можно сделать одну дефолтную еще, если не указаны другие настройки
Павел
Всем привет! Подскажите, как правильнее спроектировать сущности.
Есть два отчета: Отчет1 и Отчет2, это два разных отчета, у каждого свои поля, каждый находится в своей таблице. Отчет скачивают бухгалтеры и работают с ним.
Теперь стоит задача эти отчеты корректировать. Необходимо завести сущность "Корректировка", в которой будут некоторые поля из отчетов, например kpi_gross. То есть у нас будет отчет, к нему будет корректировка и бухгалтер получит уже итоговый скорректированный отчет.
Короче, проблема вот в чем: если я заведу две отдельные корректировки (отдельно для Отчета1 и для Отчета2), то получится дубликат, потому что сама корректировка содержит одинаковые поля (кто создал, для каких пользователей и тд). А если сделать сущность Корректирвка общей, то надо полиморфную связь использовать, к которой у меня есть вопросы) Там будет поле айди_отчета и поля тип_отчета. В зависимости от типа я буду обращаться к таблице Отчет1 или Отчет2. Внешнего ключа, естественно, при этом не будет. Как бы вы сделали в подобном случае?
Не стоит бояться похожего кода
The Ant
в доктрине есть какой-то способ установить новый список реляций с автоматическим диффом? чтобы не удалять всё и не вставлять всё заново?
Павел
Павел
Ааа сет коллекшион? )
Павел
Как раз недавно такой вопрос задавал в соседнем чате. Ну либо чистишь и доктрина чистит а потом вставляет (и то если констрейнтов нет) - это куча лишних запросов, либо ручками ищешь дифы , либо какой нить сериалайзер. Например апи платформа так делает
Павел
Автоматом из коробки вроде нет и это печаль
The Ant
Не понятно
ну вот у нас есть например теги у статьи
public function Tag $tags;
в конструкторе коллекция присваивается, связсь мани-ту-мани
С фронта прилетел новый список тегов (добавли, или удалили лишнее)
Далее надо это дело обновить у сущности. Как обычно делается. В цикле все теги удаляются, потом выставляются новые. Через сеттеры.
Я хочу просто setNewTags(Tag[] $tags) условный. А дифф между ними автоматом вычислять, без удаления всех записей и вставки новых.
Павел
Павел
Но да, это приводит к полному удалению и новой вставке
The Ant
очько
Павел
очько
Вот такое дерьмо копирую из раза в раз
Павел
Павел
Как то скидывали решение с трейтом, поидее можно вынести в трейт а метод для редакирование занести под интерфейс
The Ant
это получше моего выглядит :D
The Ant
Скинь текстом пожалуйста
Павел
Скинь текстом пожалуйста
public function setRules(ServiceRule ...$rules): void
{
$currentCollection = $this->rules;
$newCollection = $rules;
foreach ($currentCollection as $existItem) {
foreach ($newCollection as $newItem) {
if ($existItem->getId()->equals($newItem->getId())) {
$existItem->editFromRule($newItem);
continue 2;
}
}
$currentCollection->removeElement($existItem);
}
foreach ($newCollection as $newItem) {
foreach ($currentCollection as $innerExistItem) {
if ($innerExistItem->getId()->equals($newItem->getId())) {
continue 2;
}
}
$newItem->setService($this);
$currentCollection->add($newItem);
}
}
The Ant
Смотри какая у меня дичь, да еще и в юзкейсе 😄
Павел
Павел
Максим
Привет, тут есть ребята с опытом с разработкой под азартные игры?
Юра
Под азартные игры какой-то особый вид программирования?
Юра
Php 8.1-gambling.edition )
Максим
Просто попросили найти с опытом
Максим
Я честно сам не знаю
Павел
Так что требование вполне адекватное.
The Ant
Ктонить в курсе, инмемори кеш симфы сериализует данные?
The Ant
в код если что сам схожу, просто м.б. кто на память помнит :D
Vlad
https://github.com/symfony/symfony/blob/6.3/src/Symfony/Component/Cache/Adapter/ArrayAdapter.php#L309
The Ant
вот говно :(
и зачем сериализация инмемори? жесть просто