Доступ к пользовательскому сеансу из пользовательского класса маршрутизации - PullRequest
2 голосов
/ 16 марта 2010

Есть ли способ получить доступ к объекту пользователя из пользовательского класса маршрутизации?

Я хотел бы добавить параметр при генерации URL, и этот параметр находится внутри пользовательского сеанса, поэтому мне нужно получить к нему доступ.

Единственный способ найти доступ к нему - использовать sfContext :: getInstance () -> getUser (), но известно, что он неэффективен.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 17 марта 2010

Обходной путь, который я реализовал (на данный момент), - получение некоторых данных откуда-то (не идеально, я хочу получить доступ к сеансу пользователя) и установка нового параметра внутри $ params в методе generate метода пользовательский класс маршрутизации.

Надеюсь, это поможет ...

0 голосов
/ 17 марта 2010

Я бы написал так, как вы упомянули - я использовал этот метод в подобных ситуациях и никогда не сталкивался с проблемой производительности, и подозреваю, что вы будете такими же.

Кроме того, никогда не слышал, чтобы это упоминалось как неэффективное, но его немного осуждают, потому что оно связывает путь с контекстом. Альтернативой, которая могла бы преодолеть это, было бы передать переменную в маршрут так же, как и любой другой параметр (или пользовательский объект, если вам нужно все это). Если вам нужно сделать это много, вы всегда можете создать собственный помощник по URL, который обернет существующий метод url_for, добавив этот параметр ко всем другим передаваемым деталям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...