Артем
Это происходит когда я делал так. Все обязательнее поля я указа и клен у меня создан. эндпоинт /token у меня работает, проблеми возникают только с этим
Артем
Артем
Сейчас возникает другая проблема
Артем
Артем
Нашел ответ https://github.com/trikoder/oauth2-bundle/issues/152
Vite4eg
Здравствуйте. Пилю для себя тулзу на Symfony Console + Symfony DI Component. У меня есть главный App, то есть старт приложения выглядит так: (new \My\App)->run(); Внутри собирается $containerBuilder. Как мне туда уже созданный инстанс App подсунуть? Если просто правило описывать через $containerBuilder->register(App::class, App::class;) то это получается я конструктор описываю, так ведь? А у меня уже есть созданный инстанс App
Юра
Обычно есть возможность зарегистрировать обьект
Юра
Не знаю конкретно в симфони DI
Юра
Соцопрос ) Скажите вам нравится что для доступа к класс мемберам надо использовать $this ?
Юра
улучшает ли это читаемость кода? либо абстолютно бесполезно?
Dmitry
Соцопрос ) Скажите вам нравится что для доступа к класс мемберам надо использовать $this ?
Всё равно. Но в случае this.val=val при совпадении имён с this удобно.
Юра
Еще сразу понятно что это вызов метода класса а не например глобальной фции какой-то
Юра
Но не маловато ли плюсов чтобы простоянно писать этот зис?
Dmitry
Но не маловато ли плюсов чтобы простоянно писать этот зис?
Два плюса (для одноимённости и понимаемость) и один минус (лень печатать)
Андрей
Подскажите через QueryBuilder можно построить запрос напрямую к таблице а не к сущности?
Андрей
спасибо!
Андрей
Я так понял, что с помощью QueryBuilder я не смогу обратится к materialized view. Есть ли способ для динамического формирования запроса в котором есть обращение к materialized view?
Юра
Есть нейтив квери билдер
Юра
Которвй в dbal
Юра
Там работаешь на уровне таблиц а не энтитей, должно быть возможно
Trigger
Здраствуйте, такой вопрос. Я пишу Rest Api для сайта. Суть сайта в визуализации данных в виде диаграмм, пользователь вводит данные для подключения к бд, мы должны к ней подключиться, достать данные и отправить их пользователю. Используем Symfony, но в его рамках я пока что не могу сделать соединение к нескольким бд (mysql, redis, postgresql и т.д.), не подскажите как такое можно реализовать?
Vlad
Добрый, есть ли какой пакет для Directions API от гугла? https://developers.google.com/maps/documentation/directions
Alexander
Возможно вам пригодятся и эти ссылки, в случае если захочется из разных бд маппить данные на один и тот же класс. https://www.doctrine-project.org/projects/doctrine-orm/en/2.9/reference/native-sql.html#the-resultsetmapping https://habr.com/ru/post/496166/
Shokha
https://github.com/j-guyon/CommandSchedulerBundle
Shokha
https://github.com/j-guyon/CommandSchedulerBundle
кто-то знает есть типа такой пакет который поддерживает php8
Andrey
кто-то знает есть типа такой пакет который поддерживает php8
Можно форкнуть текущий пакет, добавить туда php8, запустить тесты, исправить косяки (если будут) и спокойно своим пакетом пользоваться (как вариант - плюсом отправить МР, чтоб за веткой потом не следить)
Алексей Анатольевич
4534
꧁༒Dmitry༒꧂
4534
не подсказывайте
Алексей Анатольевич
я думал это меня)))
Алексей Анатольевич
ахаха
The Ant
есть какой-то адекватный способ жсон поле у сущности намапить на объект, кроме кастом типа?
Vlad
есть какой-то адекватный способ жсон поле у сущности намапить на объект, кроме кастом типа?
😀 как раз этим вопросом занимаюсь)) нет нету, вот пакет https://github.com/dunglas/doctrine-json-odm
Alexander
https://www.thinktocode.com/2018/03/19/the-value-object-and-doctrine/
Vlad
https://www.thinktocode.com/2018/03/19/the-value-object-and-doctrine/
в случае если у тебя VO может быть nullable то способ так себе)
Alexander
Почему?
Alexander
Я бы не увлекался vo, гидрация из массивов в объекты самая дорогая операция у доктрины
Vlad
Почему?
создаcn инстенс VO рефлексией с необъявленными свойствами
Alexander
Ну из базы в пхп вы ничего кроме массива получить не сможете )
Alexander
Мапит ResultMapper и можно как угодно там играться с ним. Вопрос зачем.
Vlad
Ну из базы в пхп вы ничего кроме массива получить не сможете )
а епть, ты про это, так то ORM для этого и создана)
Alexander
создаcn инстенс VO рефлексией с необъявленными свойствами
Объявите его нуллабл и вместо ВО будет нулл
Alexander
До компа доберусь отвечу, телефона не удобно )
The Ant
https://www.thinktocode.com/2018/03/19/the-value-object-and-doctrine/
как я понял эмбеды не сериализуются, а создают доп. колонки под себя (по крайней мере так написано в доке доктрины)
Юра
Он имеет в виду наверное что на каждую энтити будет еще создаваться дополнительный облект
Юра
Не знаю как по мне пофиг
Юра
Учитывая что если достаешь много записей то лучше в массив гидрировать, без сериалайзера
Юра
А если мало то какой-то ну такое
Alexander
как я понял эмбеды не сериализуются, а создают доп. колонки под себя (по крайней мере так написано в доке доктрины)
Тут сериалайзер под капотом - https://github.com/dunglas/doctrine-json-odm Сама доктрина энити создает через ResultSetMapping на сколько я помню. Не готов сказать какой способ оптимальнее. https://habr.com/ru/post/496166/ https://www.doctrine-project.org/projects/doctrine-orm/en/2.9/reference/native-sql.html#resultsetmappingbuilder
Viktor
Всем привет. Может, кто подскажет, как лучше сделать. Делаю валидацию массива. Массив двумерный. Вот такой код работает: $illness_validator = new All([new Collection([ 'fields' => [ 'id' => new Optional([new Exist(['class' => Illness::class, 'field' => 'id'])]), 'name' => new Optional([new Type(['string'])]) ], 'allowExtraFields' => true ])]); То есть каждый элемент массива проверяется. Так вот задача как-то сделать проверку на то, что в массиве есть ЛИБО id, ЛИБО name. Чего-то одного будет достаточно. Может, у кого есть идеи? Заранее спасибо:)
Юра
Наверное писать кастомный валидатор
Юра
Либо если есть валидатор на количество ключей массива, то ограничиваешь минимальным количеством ключей, если получится
Viktor
вот я пытался. внутри кастомного валидатора нужно получить значения из других полей коллекции. то есть внутри кастомного валидатора нужно получить и значение name, и значение id. я не смог придумать как это сделать.
Юра
Потому что тебе нужен валидатор не на айди а на весь массив
Юра
Ты же проверяешь ключи массива, логично?
Viktor
Очень дельное замечание))) Большое спасибо, сделал.
Kirill
Всем привет. Пытаюсь реализовать примерно следующее. Допустим у меня есть самый обычный симфонёвый сервис. В качестве аргумента я передаю туда логгер(монологовский).Он должен писать в отдельный файл(сие можно реализовать с помощью каналов, насколько я помню и настроек в yml).Но отдельный файл должен создаваться автоматически для каждого сервиса, куда передаётся логгер. К примеру, я передал логгер как аргумент сервису Service1. Для Service1 должен создаться лог-файл типа service1_log_file.log Для Service2 должен создаться лог-файл типа service2_log_file.log и так далее. Подскажите, куда копать?
Alexander
https://docs.sentry.io/platforms/php/guides/symfony/
Kirill
С виду похож на какой-то большой перехватчик эвентов
Kirill
Другие альтернативы есть?
Serg
роллбар
Serg
https://rollbar.com/
Kirill
Этого монстра мне подключить не дадут)
Дмитрий
Этого монстра мне подключить не дадут)
https://www.dmosk.ru/instruktions.php?object=grafana-loki
Дмитрий
https://habr.com/ru/company/badoo/blog/507718/
Дмитрий
в разы легковеснее чем например тот же ELK
Alexander
графану сложно легковесным решением назвать )
Kirill
Я не про инструмент сбора логов спрашивал)
Alexander
Пол года назад встретил проект в котором логи писались в файлы по имени сервиса. Надеюсь человек который это сделал сейчас дворы подметает. 18:43 событие 1 -> SomeService.dev.log 18:44 событие 2 -> AnotherService.log и т.д. получить связанную картинку происходящего - невозможно Мне не хочется в холивары вступать, но за такое я бы кочергой в голову дал. Если вы хотите логировать ошибки и своевременно (не от пользователей) о них узнавать - сентри идеальное решение, бесплатного тарифа чаще всего достаточно. Если вы хотите писать телеметрию чтобы понимать что проиходит, то писать ее надо в одно место в один файл, а удобство чтения - вопрос инструмента просмотра логов. Не могу ничего сказать про локи, мы второй вид логов пишем в эластик и смотрим через грейлог.