Вот пример с Optional https://github.com/johncms/johncms/blob/develop/modules/johncms/admin/src/Forms/UserForm.php#L121
С ModelExists так же должен работать. Он появился только в 10 версии. В 9 его нет.
Вот пример с Optional https://github.com/johncms/johncms/blob/develop/modules/johncms/admin/src/Forms/UserForm.php#L121
С ModelExists так же должен работать. Он появился только в 10 версии. В 9 его нет.
Куда его уже только не приписал
Simba, как сложно, Optional для валидатора как использовать? вместе с ModelExists.
galtsev.t, контейнер сам не сможет инициализировать этот объект. Он сейчас собирается методом fromGlobals.
Когда ты из контейнера запрашиваешь класс Johncms\Http\Request он смотрит конфиг контейнера и определяет есть ли там что-то что надо отдать на этот класс.
https://github.com/johncms/johncms/blob/develop/system/src/ConfigProvider.php#L81
Сейчас там описано, что при запросе Johncms\Http\Request должен отдаваться Psr\Http\Message\ServerRequestInterface, а для Psr\Http\Message\ServerRequestInterface в свою очередь описано, что нужно отдавать Johncms\Http\RequestFactory
Для твоей задумки тебе надо сделать метод __invoke в котором нужно вернуть StoreRequest::fromGlobals() и в конфиге https://github.com/johncms/johncms/blob/develop/config/autoload/dependencies.global.php указать в ключе factories название класса по аналогии с тем что по ссылке.
ginbert, hello
Hi @galtsev.t
Мне казалось если это класс наследник оно где то там в параметрах преобразуется чудесным образом в то что я указал 😂
Simba, еще вопрос, хотел наследоваться от Johncms\Http\Request и сделать что то вроде FormRequest в laravel, но если в контроллере сделать function create(StoreRequest $request) получаю ошибку
Unresolvable dependency resolving [Parameter #0 [ string $method ]] in class GuzzleHttp\Psr7\ServerRequest
Что это значит?
Возможна ли вообще моя задумка?
galtsev.t, да, можно, формат ответа главное чтобы совпадал.
Simba, Кстати а если vue компоненту комментариев от новостей передавать например url для запросов? его можно будет повторно использовать везде, просто контроллер другой под свой модуль, а можно и контроллер новостной для комментариев переписать чтоб наследоваться от него и указать свой класс с моделью)
Можно будет юзать в новостях, загрузках, альбомах и сторонних модулях.