당신이 어디에 있느냐에 따라 다르다.
여기서 원하는 것을 달성하기 위해 $ param 요청을 잡을 필요가 없다. FlashMessenger 도우미를 사용하여 스택에 메시지를 추가하기 만하면됩니다. 그런 다음 메시지를 표시 할 작업 내에서 메시지를 검색 한 다음 successAction에서와 마찬가지로 메시지를 뷰에 할당합니다. $ this-> view-> var = $ var;와 같은 컨트롤러에 $ var 또는 배열 데이터를 할당하여 전달할 수 있습니다. 그러면 뷰 내에 $ this-> var로 액세스됩니다.
로그인에 대해 묻는 순간부터 나는 보통 어떻게하는지 알려줄 것입니다. 그게 최선의 방법은 아닙니다.우리가 이렇게 성공 액션에서
public function indexAction() {
$form = new Zfcms_Form_Login;
$this->view->form = $form;
/*check for valid input
authenticate using adapter
persist user record to session
redirect to original request URL if present*/
if ($this->getRequest()->isPost()) {
if ($form->isValid($this->getRequest()->getPost())) {
$values = $form->getValues();
$authAdapter = $this->getAuthAdapter();
# get the username and password from the form
$username = $values['username'];
$password = $values['password'];
# pass to the adapter the submitted username and password
$authAdapter->setIdentity($username)
->setCredential($password);
$auth = Zend_Auth::getInstance();
$result = $auth->authenticate($authAdapter);
if ($result->isValid()) {
# all info about this user from the login table
# ommit only the password, we don't need that
$userInfo = $authAdapter->getResultRowObject(null, 'password');
# the default storage is a session with namespace Zend_Auth
$authStorage = $auth->getStorage();
$authStorage->write($userInfo);
$session = new Zend_Session_Namespace('zfcms.auth');
if (isset($session->requestURL)) {
$url = $session->requestURL;
unset($session->requestURL);
$this->_redirect($url);
} else {
$this->_helper->getHelper('FlashMessenger')
->addMessage('You were successfully logged in as ' . $userInfo->username);
$this->_redirect('/login/success');
}
} else {
$this->view->message = 'You could not be logged in. Please try again.';
}
}
}
}
: 우리는 내가 아래에 무엇을 같이 할 수있는보기 스크립트에서
public function successAction() {
if ($this->_helper->getHelper('FlashMessenger')->getMessages()) {
$this->view->messages = $this->_helper
->getHelper('FlashMessenger')
->getMessages();
} else {
$this->_redirect('/login/success');
}
}
내 인 LoginController의 인덱스보기는 양식을 보유하고 있습니다.
$this->view->message = 'message goes here';
을 그리고 그들이보기에 설정되어 두 경우를 잡을 :
내가 할 이유는이 방법은 때로는이 경우에는 단순히 사용하는 컨트롤러에 단 하나의 메시지를 전달하는 것입니다
<?php
if(isset($this->message) || isset($this->messages)):
?>
<?php
if(is_array($this->messages))
{
echo implode($this->messages);
} else {
echo $this->message;
}?>
<?php
endif
?>
$ params에 도착하면 어떻게 검색합니까? –