Vlad
))
Nikolay
SK
Народ ! Симфони 4.4 вываливается с ошибкой
SK
{"message":"Uncaught PHP Exception Symfony\\Component\\Intl\\Exception\\MissingResourceException: \"Couldn't read the indices [Names] for the locale \"favicon.ico\" in \"/application/vendor/symfony/intl/Resources/data/regions\".\" at /application/vendor/symfony/intl/Data/Bundle/Reader/BundleEntryReader.php line 175","context":{"exception":{"class":"Symfony\\Component\\Intl\\Exception\\MissingResourceException","message":"Couldn't read the indices [Names] for the locale \"favicon.ico\" in \"/application/vendor/symfony/intl/Resources/data/regions\".","code":0,"file":"/application/vendor/symfony/intl/Data/Bundle/Reader/BundleEntryReader.php:175","previous":{"class":"Symfony\\Component\\Intl\\Exception\\ResourceBundleNotFoundException","message":"The resource bundle \"/application/vendor/symfony/intl/Resources/data/regions/favicon.ico.json\" does not exist.","code":0,"file":"/application/vendor/symfony/intl/Data/Bundle/Reader/JsonBundleReader.php:39"}}},"level":500,"level_name":"CRITICAL","channel":"request","datetime":{"date":"2023-07-21 20:25:42.387919","timezone_type":3,"timezone":"Europe/Riga"},"extra":[]}
SK
Кто может подсказать почему сифони пытается сделать локаль из favicon.ico ?
Nikolay
Юра
У тебя видимо роут пытается распарить локаль из урла а там favicon.ico
Юра
Почему-то факикон идёт на симфу
SK
Нде знать бы ещё где это происходит
Юра
Просто положи фавикон в папку public
SK
Он там лежит уже, всё работало, просто вот внезапоно вот такая хрень
Юра
Ты скинул ссылку на файл который лежит в папке images
Юра
А не в public
Юра
Браузер ищет фавикон по урлу /favicon.ico
Юра
Плюс у тебя нет регулярки на параметр locale
Юра
Была бы симфа бы отдала 404
SK
Юра
У тебя в роут вместо локали попала строка favicon.ico, почитай ошибку
Юра
Да
SK
Да
vendor/symfony/intl/Resources/data/regions
- это про эту папку. Там внутри куча json'ов под каждую локаль
Юра
SK
народ хелп - у меня сервак висит на localhost:8000, на одном роуте функция path(route_name) в twig опускает порт и выходит ссылка вида localhost/en/to-some-url (все ссылки на странице такие). На всех остальных роутах всё в порядке. Куда копать. Роут выглядит таким же как и все остальные. Кеш чистил, интернет читал
Юра
Юра
И по-моему симфа смотрит на заголовок X-Forwarded-Port для абсолютных ссылок
SK
Павел
Дмитрий
Привет! На проект нужен фулстек мидл или сеньор с опытом от 5 лет, работы много, работа постоянная. Ваши условия. Резюме в личку.
Артем
Всем привет! Подскажите плиз такой момент по Доктрине.
Вот есть сущность и у нее я беру связь $purchaseObject->getCharacteristics()
Берутся все что есть по этой связи, а как можно добавить условие какое-то? Например взять только активные characteristics по связи
Vlad
https://symfonycasts.com/screencast/doctrine-relations/collection-criteria
Елнур
Елнур
Vlad
Павел
Причем в сифони касте как раз написано, что есть фильтр, и вот он как раз грузит все, а потом фильтрует.
Елнур
где написано?
Сорри, прочитал первый код, увидел только фильтры, оно и грузит все. а внизу критерия. Это по сути те же запросы, но внутри ентити.
Елнур
Vlad
почему? там не запросы
Павел
Кстати вот интерсный флоу с тем, что надо например 2 критерии паралельно поставить разных (два геттера отдельных). Получается тут
1) или у нас все же пост обработка по готовой коллекции
2) Или это не будет работать, так как базовая коллекция одна и после первого лоадинга, вторая критерия или отработает поверх первой или не отработает вовсе
3) Или коллекция с мэтчем всегда ходит в БД и не сохраняет состояние
Елнур
Vlad
не понятна в чем суть претензии
Артем
всем спасибо! решил попробовать критерии ))
Елнур
https://symfonycasts.com/screencast/doctrine-relations/collection-criteria
странно, в прошлой версии каста звучала такая фраза:
Organizing the Criteria into the Repository
One thing I don't like about the Criteria system is that I do not like having query logic inside my entity. And this is important! To keep my app sane, I want to have 100% of my query logic inside my repository. No worries: we can move it there!
https://symfonycasts.com/screencast/symfony4-doctrine-relations/collection-criteria
Елнур
Алексей
Привет всем! Недавно работаю с symfony. Я всегда что объект должен существовать со всеми обязательными свойствами, переданными через конструктор. Пример: https://pastebin.com/D6hKYxs8. Сейчас работаю примерно c таким кодом: https://pastebin.com/nqQCLVJV - вроде ок, работать можно, но придется делать проверки в каждом методе что property1 установлено. что кажется вообще - не нормально. Подскажите как верно использовать symfony service'ы
Павел
Павел
Почитайте еще раз доку по сервис контейнеру
Павел
Dmitriy
у сервиса должен быть метод который принимает объект сущности
Dmitriy
а сервис через di
Алексей
Dmitriy
бизнесовый метод
Nikolay
Dmitriy
$completeOrder->do($order)
Dmitriy
или команду и ее хендлер, что получше будет
Алексей
спасибо, ваши описания звучат логично
Юра
Да заодно уйдешь от этой ужасной практики одним методом установить значение, а другими методами что-то с этим значением делать
Павел
Dmitry
Павел
Пихать инкапсуляцию там где она не нужна, не меньшее зло
Павел
Не нужна она только в простейшем CRUD, где не нужны объекты
- crud или около crud часто бОльшая часть проекта
- живут же программисты и проекты, которые агрессивно отвегают рич модели, и все у них ок по их мнению и проекты работают.
Главное понимать что и для чего делается, какой профит, а не следовать слепо тому или иному карго культу
Dmitry
Павел
Именно так.
Если осознанно используют процедурное программирование с интеграционными тестами для CRUD и объектно-ориентированное с юнит-тестами для Rich, то хорошо.
А если слепо всё делают на сеттерах, то это культ наоборот.
Есть еще те, кто наоборот, слепо следует инкапсуляции простых объектов, где нечего защищать, создавая бессмысленные методы на групповое изменение пропертей, похожие на реализацию юзкейсов внутри сущности. И вместо простых сеттеров, и их комбинаций в разных кейсах, имеет распухшую сущность, с кучей непонятных методов, цель которых - комбинаторика, просто потому что "я слышал что нельзя сеттеры".
Елнур
Есть еще те, кто наоборот, слепо следует инкапсуляции простых объектов, где нечего защищать, создавая бессмысленные методы на групповое изменение пропертей, похожие на реализацию юзкейсов внутри сущности. И вместо простых сеттеров, и их комбинаций в разных кейсах, имеет распухшую сущность, с кучей непонятных методов, цель которых - комбинаторика, просто потому что "я слышал что нельзя сеттеры".
я думаю, множество таких заблуждении произошло от недопонимания...
есть Clean Architecture от Дяди Боба. Он писал/говорил, что бизнесовые методы должны быть в Entity. И тут заблуждение... что есть Entity? по Бобу, это целый "Слой" ПО. А другие поняли это как Doctrine Entity
Павел
Павел
Основное - это преследование профита. Основной профит в риче - это инкапсуляция. И об этом много подходов говорит: tell don't ask , гексагоналка, агрегат.
Но смысл один, лишь разница в микро и макро уровнях - это наличие контрактов и закрытие внутренностей.
Опять же под инкапсуляцией подразумевается преследование конкретных целей в конкретном домене, а не просто "все инкапсулируем, потому что есть такое слово и подход", если в общем - поддержание конкретных инвариантов домена .
Павел
Даже если мы отказываемся, что doctrine entity это то самое место для инкапсуляции, то все равно нужна какая то закрытая сущность, потому что сервис под это дело подходит слабо, так как сервис stateless должен по хорошему быть.
Не может сервис быть агрегатом :)
Павел
Я видел где то на просторах стековерфлоу пример, как мапили доктрин сущности на другие доменные сущности. Ну короче максимально сложно выглядит и стоит ли полученный профит сложности перегона - большой вопрос
Елнур
Елнур