2016-07-18 2 views
1

Я думаю, что необходимо получить доступ к данным сеанса из каждого места, особенно в модели, я не знаю, в чем конфликт с дизайном или логикой CakePHP.CakePHP 3: Почему бы не использовать сеанс в модели

Интересно, можем ли мы использовать класс Session глобально как класс Text.

Возникает ли проблема в отношении дизайна и логики и ничего, связанного с ошибками, в будущем?

+1

, что является примером того, почему/когда вы хотите получить доступ к сеансу в модели? – AD7six

+0

, если вам нравится этот aswer, отметьте как правый anwer .. :) –

+0

Привет @ AD7six, сессия создана для хранения переменных по всему миру, поэтому нам понадобятся эти переменные для хранения в модели или фильтрации им – Ayman

ответ

1

В соответствии с концепцией Framework вы можете читать/писать/изменять сеанс с контроллера. Но не имеете права на чтение и запись в модели.

В CakePHP v3 вы можете управлять сессии в модели, как указано ниже

\Cake\Routing\Router::getRequest()->session()->read('key'); 
\Cake\Routing\Router::getRequest()->session()->write('key', 'value'); 
+0

С помощью Session helper вы не можете писать/редактировать/удалять сеанс .. но да, вы также можете использовать \ Cake \ Routing \ Router :: getRequest() -> session(). См. Документ Cake для помощника сессии http://book.cakephp.org/3.0/en/views/helpers/session.html –

+0

Ohk ... спасибо Очень много для обновления меня ... !!!!!, я изменили мой ответ –

Смежные вопросы