Nikolay
Тогда надо заранее структуру придумывать. А если вдруг захочется новое поле журналировать - структуру менять
Это да, только заранее. В некоторых случаях есть возможность миграцию накатить
Vite4eg
Видится, что можно было бы например на монге, но придется вокруг этого всего понаписать
Vite4eg
У пары бизнес сущностей надо отслеживать поля. Не все, пока интересует 5 полей конкретных. Над ними работает несколько сотрудников. В какой-то момент случаются неверные данные, и надо бы крайнего найти
Vite4eg
Просто логгирование в файл неудобно, надо же и визуализацию. Вот потому я и посматриваю в сторону елк, там тебе и сбор, и нереляционная база, и визуализация
Юра
А повесить ивенты на доктрину и записывать changeset?
Vite4eg
Куда? Тут же в mysql?
Юра
Если не нужен полнотекстовый поиск то почему бы и нет
Юра
Вместо установки какого-то эластика можно подтюнить мускуль, больше ему памяти выделить оперативной например или что как-то убыстрить
Юра
Но это такое. Мысли просто
Vite4eg
Это просто расширение логгирования? А хранить всё где?
Roman
Это просто расширение логгирования? А хранить всё где?
в бд и хранится. Но там есть ряд ограничений (читай README)
Vite4eg
Я вот как раз не уверен, что стоит в основной базе хранить
Юра
Почему
Юра
Если накатить partitioning на таблицу например на дату, и юзать between, то можно спокойно жить с миллионами записей
Юра
https://dev.mysql.com/doc/refman/8.0/en/partitioning-types.html
Vite4eg
Писал же. Не уверен что не захотят новых полей. Не считаю, что хранить журнал в основной базе хорошая идея, мне кажется, это немного другого типа данные. Опять же если брать елк, там уже визуализация есть
Юра
Если тебе нужен полнотекстовый поиск то да бери елк, если нет, то лучше наверное локи
Юра
Монгу тоже можно че
Юра
Главное чтобы не оказалось что проблема в том что народ редактирует твои бизнес энтити одновременно и из-за этого баг и никто не виноват был )
Юра
Елк просто память любит очень
Юра
Если с этим нет проблем то ок
Юра
Ну и непонятна проблема. Если заходят доп поля хранить, что нельзя сделать альтер тейбл?
Юра
Если тебе нужно потом например делать запросы типо покажи все изменения где было вот такое поле с таким-то значением, то согласен мускуль тут в попе глубокой
Vite4eg
Ок. Спасибо
Дмитрий
Loggable
Дмитрий
второй фасад первого
Дмитрий
написано же вон у второго, что это интеграция первого с симфони
Shokha
а как тоже самое сделать в TWIG http://sandbox.onlinephpfunctions.com/code/59318f85dde1b92d36efcdb053788eef01b52953
Shokha
{{ str|convert_encoding("windows-1251", "utf-8")|url_encode }} так не получилось
Vite4eg
А почему такое в twig делать? В контроллере заранее перекодировать
Vite4eg
Хорошо. Можно заранее в контроллере прогнать массив на перекодирование данных
Юра
Дмитрий
Добрый день. Пытаюсь сделать отправку push уведомлений через firebase с помощью symfony/notifier. Но при попытке отправки возникает ошибка: The "firebase" scheme is not supported. Подскажите, пожалуйста, в чем может проблема? notifier.yaml framework: notifier: texter_transports: firebase: '%env(FIREBASE_DSN)%'
Юра
версия может не та?
Дмитрий
версия может не та?
Использую symfony 5.4. Версия пакета notifier и пакета symfony/firebase-notifier также 5.4.
Дмитрий
Если через профайлер открыть содержимое класса getTexter_TransportsService.php, то в нем отсутствует TransportFactory для firebase. return $container->privates['texter.transports'] = (new \Symfony\Component\Notifier\Transport(new RewindableGenerator(function () use ($container) { yield 0 => $container->load('getNotifier_TransportFactory_TwilioService'); yield 1 => ($container->privates['notifier.transport_factory.null'] ?? $container->load('getNotifier_TransportFactory_NullService')); }, 2)))->fromStrings(['firebase' => $container->getEnv('FIREBASE_DSN')]);
Дмитрий
@theantt смотри что нарыл, то что ты хочешь https://github.com/eXsio/php-symfony-arch/tree/main/src
Дмитрий
почитать авторские комментарии можно тут https://www.kode-krunch.com/2021/11/php-symfony-modular-architecture-demo-part-1.html https://www.kode-krunch.com/2021/12/php-symfony-modular-architecture-demo-part-2.html
Дмитрий
я прочитал введение и.... автор похоже не нашел Api Platform, а собственно ее и разработали для того что хочет автор, даже сам Фабьен об этом сказал
Дмитрий
ну и дальше начинается дичь - назвал Расмуса Лердорфа = Rasmus Leonor - не смог найти Codeception = No proper separation between Unit and Integration tests - не нашел в офф доке как писать свои SecurityController = Traditional, stateful, session-based security is used все равно считаю что подход симфони из бест практис самым нормальным, а дальше можно его использовать с поправками Дмитрия Елисеева и тогда любой новичок легко вкатится в проект, а не будет копаться в модулях
Anonymous
Всем привет. Ребят подскажите как лучше пдгрузить переводы с каcтомными именами и структурой директории translationы? допустим translations/en_GB/LC_MESSAGES/en_GB.mo
The Ant
@theantt смотри что нарыл, то что ты хочешь https://github.com/eXsio/php-symfony-arch/tree/main/src
прикольная штука, очень даже. явно упоротый по ддд писал :😄
Дмитрий
прикольная штука, очень даже. явно упоротый по ддд писал :😄
после слова упоротый надо уже поставить точку )
The Ant
😂
The Ant
The Ant
если уж решил чето делать микросервисное, то я бы вот таво рот видал тот пхп и симфони в частности. Лучше на чем нить другом его делать 🤣
Дмитрий
в очередной раз пожалею что нет годной пруф-статьи как крупная компания делает свой проект на симфони и рассказывает как у них устроена структура ((
The Ant
потому что пхп почти труп уже 😄 да и пиндец какой неудобный
Vlad
потому что пхп почти труп уже 😄 да и пиндец какой неудобный
так уже лет 10 как трупом называют) А что удобнее и в каких задачах?
Дмитрий
Почему лучше на чем нибудь другом?
php же не про микросервисы, тут надо понимать причины написания микросервиса, ведь микросервис ради микросервиса это тоже странно (ибо сложно и дорого), а вот когда было на пхп и решили сделать микросервис значит причина почти наверняка в RPS и пхп уже не вывозит
The Ant
А чем неудобен?
костылями своими, конечно же
Vlad
php же не про микросервисы, тут надо понимать причины написания микросервиса, ведь микросервис ради микросервиса это тоже странно (ибо сложно и дорого), а вот когда было на пхп и решили сделать микросервис значит причина почти наверняка в RPS и пхп уже не вывозит
Микросервисы это вообще не про язык, если подходить к вопросу с точки зрения вынесения хайлоада, то да для таких задач лучше юзать что то сиподобное. А так если у нас есть часть приложения которая нагружена сильнее, то что мешает этот кусочек вынести в микросервис и пофк что он написан на пыхе, главное что нам не надо поднимать клон всего приложения для распределения нагрузки. Но, я бы назвал такое просто сервис)
The Ant
Например)
что ты такой любознательный то а? :D Не хочу я спорить щас.
The Ant
пример всё же дам, 1: костыльный асинк
Vlad
Та я не собираюсь спорить))) просто интересно)
The Ant
вот это прям вообще говнище в реализации. все эти очереди, воркеры и прочее говно, которое стартует по отдельности
Vlad
пример всё же дам, 1: костыльный асинк
Ну тут просто не тот инструмент выбран, если возникает большая необходимость в асинке)
The Ant
не работают )
Дмитрий
Ну тут просто не тот инструмент выбран, если возникает большая необходимость в асинке)
он хочет чтобы всё что ему надо было внутри пыхи и работало идеально и спроектировано было так как ему надо ))
The Ant
один из коров просто сбежал. Устал видимо.
Дмитрий
@theantt вон вакуха свободная на место главного по пыхе. забирай себе и впили нормальный асинк ))
The Ant
проблема пхп в том, что он создан как шаблонизатор, и досих пор имеет это наследие. Врятли что-то с этим сделаешь
Vite4eg
Никита Попов не занимался такими глубокими штуками, этим Дмитрий Стогов занимается. Дмитрий так и сказал, что он асинк пилить не хочет. Надо - приходите делайте
The Ant
ща конешь придумывают всякие свули, реактпхп и прочие ам-говно. Но это так, фанатики какие-то балуются.
The Ant
по факту выглядит всё это очень стрёмно
Дмитрий
давай пили antphp )
The Ant
🤣🤣🤣