The Ant
это по сути большое 16ричное число )
The Ant
а в еластике реализован механизм запоминания последнего ида и контрольное поле - времени
Павел
а в еластике реализован механизм запоминания последнего ида и контрольное поле - времени
Ну там как раз что то похожее, ты сортируешься, а потом делаешь after
Павел
А ну еще pit, но как то пробовал, не завелось че то)
The Ant
ну в вашем случае или конвертить в в6\7, или по дате сортировать, вариантов не особо )
Denis
Приветствую Как подключить сервис FOS\UserBundle\Util\CanonicalizerInterface ? При подключении через DI в конструкторе ( CanonicalizerInterface $usernameCanonicalizer ) , выдает ошибку Cannot resolve argument $settingsResponder of "App\ApiAction\PersonalArea\Handler\Settings\SettingsHandlerAction()": Cannot autowire service "App\Responder\PersonalArea\Handler\Settings\SettingsResponder": argument "$usernameCanonicalizer" of method "__construct()" references interface "FOS\UserBundle\Util\CanonicalizerInterface" but no such service exists. You should maybe alias this interface to the existing "fos_user.util.canonicalizer.default" service. Пробовал и для FOS\UserBundle\Util\CanonicalizerInterface и для FOS\UserBundle\Util\Canonicalizer Возможно как то нужно правильно прописать в services.yaml или в fos_user.yaml ?
Vlad
все понятно, укажи id сервиса в качестве аргумента fos_user.util.canonicalizer.default
Vlad
и все заработает
The Ant
Вечера. А в симфе есть какая-нить хрень, чтобы контроллеры в роутах не прописывать? Автоматом находило и добавляло. Атрибут [#AsController] не помогает если что
Kirill
ну тебе нужно прописать папочку для контроллеров
Kirill
App\Application\Controller\: resource: '%kernel.project_dir%/app/Application/Controller/' например
The Ant
ну тебе нужно прописать папочку для контроллеров
у меня много папочек, и я устал прописывать :)
Kirill
App\Application\Controller\: resource: '%kernel.project_dir%/app/Application/Controller/' например
Короче, чтобы симфони увидел твои контроллеры надо сделать так, чтобы он их видел (с) Цитаты Великих Людей
Kirill
А чтобы в роутах не прописывать контроллеры - надо прописывать роуты в контроллерах)))
Kirill
*Атрибуты или аннотации накрайняк
The Ant
А чтобы в роутах не прописывать контроллеры - надо прописывать роуты в контроллерах)))
В том то и проблемы, что роуты в контроллерах, а чтобы симфа увидела контроллера надо папочку указать. И атрибут не пашет (зачем он вообще тогда?!) И всё это как-то сложно
Kirill
пашет всё)
The Ant
нет, надо все равно в конфиге роута папочку указывать
Kirill
у меня кроме этой строчки ничего больше не указано
The Ant
у меня чуток другая структура проекта )
The Ant
и на каждую надо прописывать что там есть контроллеры 😬
Kirill
ну а как ты хотел?
The Ant
без этого )
Kirill
ожидал, что симфони за тебя весь твой жёсткий диск просканировал на наличие классов контроллеров?
Kirill
а заодно и все сетевые диски, вдруг ты там примонтировал что
Kirill
ну и интернет заодно
The Ant
конечно, зачем еще нужен cumpile pass
Алексей
Разве нельзя рекурсивно указать ?
The Ant
для мессенжера же сделали #[AsMessageHandler], почему с контроллером не пашет?
The Ant
таки симфа бегает по сурс директории, и ищет заатрибученые классы
Юра
Там же можно указать /**/ при сканировании
Юра
Не нужно все добавлять руками
Kirill
и контроллеры работают точно так же, как и хендлеры
Kirill
в генетическом?
генетически он — муравей
Kirill
не знаю, насколько это правильно
Kirill
но допускаю, что это его личный выбор гендера
Kirill
я не вправе подобное обсуждать
Павел
Вечера. А в симфе есть какая-нить хрень, чтобы контроллеры в роутах не прописывать? Автоматом находило и добавляло. Атрибут [#AsController] не помогает если что
Эта штука добавляет контроллер для работы аргумент резолвинга, а тебе видимо надо чтобы роуты автоматически регистрировались. Я думаю у тебя минимум такие варинты: 1) написать лоадер кастомный https://symfony.com/doc/current/routing/custom_route_loader.html 2) Написать конфиг на php который будет твои папочки читать и динамически составлять конфигурацию на php https://symfony.com/doc/current/routing/custom_route_loader.html#built-in-route-loaders . Мне кажется самый простой вариант
The Ant
Симфа как обычно в общем 😄
Павел
Симфа как обычно в общем 😄
А что такого "не такого"? В целом второй вариант вообще изи
The Ant
Ну, симфони вей это накостыль себе сам называется
Павел
Просто ты смешал роутинг и контроллеры. Они вроде и вместе а вроде и не совсем
Павел
Ну, симфони вей это накостыль себе сам называется
Хз, в целом костылей не вижу. Тебе нужно кастомное решение, и его можно реализовать
The Ant
Мне кажется это типовая штука во фреймах должна быть. Почему нельзя автоматом контроллеры искать то, все вручную прописывать
Павел
Мне кажется это типовая штука во фреймах должна быть. Почему нельзя автоматом контроллеры искать то, все вручную прописывать
Потому что ищутся не контроллеры а роуты. И можно: укажи глобал папку src и всё. Просто будет дольше
The Ant
А чо так можно? 🤣🤣🤣
Павел
А чо так можно? 🤣🤣🤣
Ну в папке Controllers же можно делать вложенные папки и контроллеры читаются. Если я не ошибаюсь. Чем Controllers отличается от src
The Ant
Ну мб симфа все классы тегнет как контролёр 🤷
Павел
The Ant
Я просто не разбирался в глубь как оно работает. Но в конфигах роуты привязаны к контроллерам. Параметром папочки
The Ant
Или оно там роуты просто по атрибуту ищет?
Павел
Я просто не разбирался в глубь как оно работает. Но в конфигах роуты привязаны к контроллерам. Параметром папочки
Заметь, ты отдельно указываешь папку с роутами в routes.yml и отдельно контроллеры с тегом в service.yml
Павел
Потому что это разные механизмы
Павел
Первый - это роутинг, который составляет карту "запрос - экшен". И у тебя проблема с этим. Второй - это asController, AbstractController или tag, ты указываешь что это сервис-контроллер, и его нужно собирать через аргумент резолвинг. Второе можно вообще не использовать, просто тогда у тебя в атрибутах контроллера не будут подггружаться объекты (реквест, currentUser, твои дто). Потому что они собираются через аргумент резолверы. Но сам по себе контроллер можно запустить будет
Павел
Первое и второе работают независимо, хоть и вместе поитогу
The Ant
Ясна, спасибо )
Павел
Первый - это роутинг, который составляет карту "запрос - экшен". И у тебя проблема с этим. Второй - это asController, AbstractController или tag, ты указываешь что это сервис-контроллер, и его нужно собирать через аргумент резолвинг. Второе можно вообще не использовать, просто тогда у тебя в атрибутах контроллера не будут подггружаться объекты (реквест, currentUser, твои дто). Потому что они собираются через аргумент резолверы. Но сам по себе контроллер можно запустить будет
Тут немного напутал. Второе получается делает 2 вещи: 1) делает сервис-контроллер публичным. Это дает возможность дергать контроллер из DI собирая его контруктор. 2) Подставляет сервисы из DI в методы контроллера через ServiceArgumentResolver. Т.е. другие резолверы нормально работают и без обозначения контроллера через asController, AbstractController или tag. Тут я ошибся.
Vladimir
https://habr.com/ru/companies/otus/articles/750574/ Так, пацаны, я вам покушать принёс, точнее, поконтрибьютить потенциально.
Kirill
Даже не смотря на пост, видя корявый перевод без какого-либо контекста - сразу можно понять, что это отус)))
The Ant
Чатом ошибся бро, тут не вебмастера, а программисты программы программируют. Никому не надо запускать свой микро реддит 😄
Kirill
А что не так с реддитом?
Kirill
Там в посте про какой-то зашквар речь велась
Kirill
Но так как это отус, то естественно без какой-либо конкретики
The Ant
Да срачик был полгода-год назад, выпнули почти всю старую гвардию модеров
Kirill
Так там постоянно такое, не?
The Ant
Которые мешали развитию некоторых веток и нещадно банили всех подряд )
Kirill
Вроде сам ресурс на перманентные срачи и рассчитан
Kirill
Ну и спам всяким