Ты пробовал?
может с архитектурой чтото не то?
Как в laravel я могу выполнять тяжелую логику во времени компиляции?
А может можно как то найти все сервсисы с определнным интерфесом тогда и их инжектировать?
Зачем эту излишнюю магию добавлять в проект?
Тоесть бек должен доверять фронту?
кроме очевидного js.
хранить таймштамп в базе и проверять
кроме очевидного js.
на маршруте есть функционал блокировки валидация и возможно это поможет решить вопрос
P.S. найти в документации про данный функционал не удалось, если кто знает где об этом написано в доке поделитесь ссылкой
P.S. найти в документации про данный функционал не удалось, если кто знает где об этом написано в доке поделитесь ссылкой
это не помогает
я для особо спешащих в старом интерфейсе делал вот так, т.к. доказать что «блондинка/брюнетка» делает двойной клик было очень сложно, а функционал делает начисление денег:
<input type=»submit» value=»применить» class=»but» onclick=»if(this.dataset.click === ‘true’) { return confirm(‘Вы действительно хотите отправить запрос еще раз?’) } else {this.dataset.click = ‘true’; this.value=’в процессе’}»>
кроме очевидного js.
https://laravel.com/docs/9.x/cache#atomic-locks
Ты пробовал? Драйвер кэша какой? Драйвер сессий какой?
P.S. найти в документации про данный функционал не удалось, если кто знает где об этом написано в доке поделитесь ссылкой
https://laravel.com/docs/9.x/session#session-blocking
Redis да попробовал не сработало
<input type=»submit» value=»применить» class=»but» onclick=»if(this.dataset.click === ‘true’) { return confirm(‘Вы действительно хотите отправить запрос еще раз?’) } else {this.dataset.click = ‘true’; this.value=’в процессе’}»>
это js ((
обычно делается order , со своим id
на него приходит оплата.
2 оплаты на один ордер сделать физически не выйдет
любые начисления должны какимито документами прилагаться
обычно делается order , со своим id
на него приходит оплата.
2 оплаты на один ордер сделать физически не выйдет
любые начисления должны какимито документами прилагаться
Чо это «2 оплаты на один ордер сделать физически не выйдет»? Частичная оплата бывает
По аналогии с Symfony Compiler Passes.
Я просто хочу просканировать все классы, найти все аннотированные методы и сохранить/включить их в свой класс. Делать это постоянно очень дорого. Я хотел бы делать это только один раз во время сборки контейнера.
По аналогии с Symfony Compiler Passes.
Я просто хочу просканировать все классы, найти все аннотированные методы и сохранить/включить их в свой класс. Делать это постоянно очень дорого. Я хотел бы делать это только один раз во время сборки контейнера.
Нет в ларавел никаких сборок контейнера
По аналогии с Symfony Compiler Passes.
Я просто хочу просканировать все классы, найти все аннотированные методы и сохранить/включить их в свой класс. Делать это постоянно очень дорого. Я хотел бы делать это только один раз во время сборки контейнера.
так запускай скрипт во время сборки контейнера… ну или после(если там база данных нужна). Мы часто скрипты запускали сразу после деплоя до включения сервера в группу(еще в безконтейнерные времена)
По аналогии с Symfony Compiler Passes.
Я просто хочу просканировать все классы, найти все аннотированные методы и сохранить/включить их в свой класс. Делать это постоянно очень дорого. Я хотел бы делать это только один раз во время сборки контейнера.
octane
эх контейнер есть а компиляции нет
спасибо
Ну тут да только если городить свой собственный кеш и компиляцию через var_export
так и делал. таблицу с локалями(их у нас было 45) вар экспортил в файлы. а то там банальные запросы за локалями очень много жрали трафика к кешу
Грусно и печально
думал должно же быть что то готовое
кейс то распространенный
А может можно как то найти все сервсисы с определнным интерфесом тогда и их инжектировать?
Да мне надо внедрить обработчики просто для экспешенов
Я не хочу руками прописывать каждый из них
хочу добавить и чтобы они сами подхватывались
а ларавел не я брал
Я уже плевался когда понял что невозможно его кеш использовать в контейнерах но ладно без кеша так без кеша
вот мне надо подготовить все и пусть кеширует после этого

Я собственно в ларе новичок
Хочу просто перетащить логику которую в симфе делал
Я не хочу руками прописывать каждый из них
хочу добавить и чтобы они сами подхватывались
а ларавел не я брал
Я уже плевался когда понял что невозможно его кеш использовать в контейнерах но ладно без кеша так без кеша
руками как-то надежнее… я вот щас плагинами для IDEA/PhpStorm занимаюсь. там все надо прописывать в plugin.xml или где-нибудь еще. Никто ничего не подхватывает. Зачем эту излишнюю магию добавлять в проект?
так все руками же моими и прописано)
А так например возьмем PHP8 attributes (те же самые аннотации)
Их тоже надо через рефлекции искать
И ка краз идея что прописал в дном месте что надо атрибут добавил и оно подхватилось и зарегистрировалось где надо
а не держать в голове что если вот я что то добавил то надо мне еще в 3 местах прописать. И не забыть удалить если удалил из 3 мест
Но это все вкусовщина да
Каждый делает как удобно
думал должно же быть что то готовое
кейс то распространенный
А может можно как то найти все сервсисы с определнным интерфесом тогда и их инжектировать?
из распространённого — я бы тоже в ci запихнул скрипт, но есть ещё scripts в composer.json, сама ларка и хелперы его активно используют.
он хотел хитрее. вклиниться в процесс создания кеша сервис провайдера. но вроде мало смысла в этом
согласен, если просто аннотации, то можно и ручками запускать из artisan по необходимости, но симфони — там больше магии в этом, плюс роутинг в аннотациях)
Я просто увидел симфоневский контейнер внутри и думал по аналогии
Но уже понял что тут надо руками делать
Но уже понял что тут надо руками делать
кстати если во время ошибки собирать твою коллекцию обработчиков — то вполне норм. это будет происходить достаточно редко
Да я просто в сервис провайдере буду дампить в фаил и брать из него если он есть
С инвалидацией конечно боль но еще и это решать меня уже пока что ломает
ОНа собирается для каждого логирования
ибо я не знаю взарание есть ли ошибка внутри записи
логирование же оно потом во время нормализации начинает ошибки нормализовывать
что зря?)
Так потому я и хотел собрать его только один раз ибо зачем делать одно и тоже постоянно
можно
но тогда пиздец получается
форматер будет ходить по всему проекту и искать что ему надо
но тогда пиздец получается
форматер будет ходить по всему проекту и искать что ему надо
тестировать такое ад
а сборка зависимостей там логики нет тоже простой тест
смешаем и получаем комбинаторный взрыв и еще моками обмазываемся
обычно делается order , со своим id
на него приходит оплата.
2 оплаты на один ордер сделать физически не выйдет
любые начисления должны какимито документами прилагаться
Совершенно однозначно надо архитектуру чинить. Бэку вообще нет дела до того сколько раз нажали и на что))
Тоесть бек должен доверять фронту?))
То есть бэк должен полагать что с фронта может прийти любой мусор в тч и здонамеренный
да и валидировать, чтобы курлом ничего не смогли подсунуть