#php #phalcon #phalcon-routing
#php #phalcon #phalcon-маршрутизация
Вопрос:
Я пытаюсь передать массив в redirect
на другую страницу, но там указано неопределенная переменная user
return $this->response->redirect($this->MyHelper->Route('eb-user-verify-reset-password-code'), $User->toArray());
Как я могу получить доступ $user->toArray()
к перенаправленной странице?
Я пытаюсь получить это, как <?php var_dump($user);?>
на моей новой странице, но это выдает ошибку ниже:
Неопределенная переменная: пользователь в поле зрения в строке 60 NULL Phalcon
Подробные сведения:
Я передаю данные пользователя через функцию перенаправления на другую страницу. Итак, при перенаправлении я передаю данные пользователя в качестве второго параметра. Но я получаю ошибку на странице, где я хочу получить массив сведений о пользователе.
Комментарии:
1. Возможно, вам нужно использовать строку запроса или сохранить в сеансе для следующей страницы
2. @devpro да, сессия — хороший вариант, но мне было интересно, возможно ли это с помощью функции перенаправления!
Ответ №1:
PhalconHttpResponse::redirect()
перенаправит с использованием http, и вы не сможете передавать какие-либо данные, если не используете POST, GET и т. Д
если вы запрашиваете другой способ перенаправления с параметрами, вы можете использовать PhalconMvcDispatcher::forward()
пример:
$this->dispatcher->forward(
[
'controller' => 'posts',
'action' => 'search',
'params' => [1, 2, 3]
]
);
обратитесь к документации для получения дополнительной информации https://docs.phalconphp.com/3.4/en/dispatcher#forwarding
Комментарии:
1. Значит, мы не можем передать переменную в
redirect
func?2. вы можете использовать get, который был бы общедоступным для клиента пример:
http://www.somedomain/phalcon/?somevar=somevalue
пожалуйста, прочитайте документацию docs.phalconphp.com/3.4/en/response#redirections