Size: a a a

2020 August 21

DS

Dmitriy S in Yii Framework 3
Сергей Предводителев
Но интерфейс токена не должен быть в yii-view пакете
почему?
источник

СП

Сергей Предводителев... in Yii Framework 3
Не логично.

"В CsrfMiddleware в конструкторе получаешь CsrfTokenInterface и делаешь $csrf->setToken(...). Теперь токен доступен в контейнере"

Получается yii-web будет зависеть от yii-view чтобы получить интефейс токена.
источник

DS

Dmitriy S in Yii Framework 3
Сергей Предводителев
Не логично.

"В CsrfMiddleware в конструкторе получаешь CsrfTokenInterface и делаешь $csrf->setToken(...). Теперь токен доступен в контейнере"

Получается yii-web будет зависеть от yii-view чтобы получить интефейс токена.
Ну значит не делаешь в yii-web
источник

СП

Сергей Предводителев... in Yii Framework 3
тогда зачем метод set)
источник

СП

Сергей Предводителев... in Yii Framework 3
В рамках yii-view нужен только get и всё
источник

DS

Dmitriy S in Yii Framework 3
Сергей Предводителев
тогда зачем метод set)
Для других реализаций
источник

СП

Сергей Предводителев... in Yii Framework 3
Dmitriy S
Для других реализаций
так это специфика реализации - кто хочет пусть пилит, зачем в интерфейсе
источник

AM

Alexander Makarov in Yii Framework 3
источник

DS

Dmitriy S in Yii Framework 3
Сергей Предводителев
так это специфика реализации - кто хочет пусть пилит, зачем в интерфейсе
Сделал я свой вариант CsrfMiddleware и хочу сетить токен не через атрибут, а в контейнер. Как мне быть?
источник

СП

Сергей Предводителев... in Yii Framework 3
Dmitriy S
Сделал я свой вариант CsrfMiddleware и хочу сетить токен не через атрибут, а в контейнер. Как мне быть?
Зачем тебе для этого метод set в интерфейсе?
источник

СП

Сергей Предводителев... in Yii Framework 3
Сделал в своей реализации set и засеттил
источник

DS

Dmitriy S in Yii Framework 3
Сергей Предводителев
Сделал в своей реализации set и засеттил
Это нарушит интерфейс
источник

СП

Сергей Предводителев... in Yii Framework 3
Dmitriy S
Это нарушит интерфейс
А если ты захочешь сделать в токене ещё генерацию? добавить в интерфейс метод generate?
источник

СП

Сергей Предводителев... in Yii Framework 3
Это всё не относится к yii-view
источник

СП

Сергей Предводителев... in Yii Framework 3
Во ViewRenderer:
public function withCsrf(string $requestAttribute = null): self

А надо ли тут вообще передавать requestAttribute ?
источник

СП

Сергей Предводителев... in Yii Framework 3
Выпилить это тогда и сделать с интерфейсом get и set
источник

А

Алексей R in Yii Framework 3
не знаю. исправлено?
источник

СП

Сергей Предводителев... in Yii Framework 3
@yiiliveext запилил с интерфейсом CsrfTokenInterface: https://github.com/yiisoft/yii-view/pull/2/
источник

СП

Сергей Предводителев... in Yii Framework 3
Но опять проблема... если в проекте используется другой роутер, то yiisoft/router всё-равно подтянется, так как пакет yiisoft/yii-view зависит от него. Это ничего страшного?
источник

DS

Dmitriy S in Yii Framework 3
Сергей Предводителев
Но опять проблема... если в проекте используется другой роутер, то yiisoft/router всё-равно подтянется, так как пакет yiisoft/yii-view зависит от него. Это ничего страшного?
Если вынести интерфейс в отдельный пакет, а в CsrfMiddleware использовать setToken вместо withAttribute, то все требования по независимости пакетов друг от друга будут соблюдены
источник