를 사용합니다 :
을
public function init(){
$this->value = 'value';
}
이 값은 컨트롤러의 모든 '동작'에서 사용할 수 있습니다.
이것은 의도적으로 설계된 것입니다.
init()
메서드는 ZF1에서 생성자를 보완하기 위해 사용됩니다. 일반적으로 생성자에 넣을 인수를 추가합니다.
에 대해서는 값을 하나의 동작에서 다른 동작으로 유지하려면 어떤 형태의 저장소를 사용해야합니다.
나중에 동일한 컨트롤러 또는 다른 컨트롤러
//a verbose example
public function indexAction(){
//initiate a variable
$i = 100;
//start a new session and assign a name to it
$session = new Zend_Session_Namespace('number');
//assign the value to the namespace
$session->value = $i
}
new.phtml보기
<?php echo $this-value ?>
지금
public function newAction(){
//access the session
$session = new Zend_Session_Namespace('number');
//assign the value to the view
$this->view->value = $session->value;
}
중요한 것은 기억 : 예를 들어
PHP와 특히 Zend Framework 1을 사용하면 모든 요청이 전체 응용 프로그램을 실행합니다.
이것은 처음부터 나를 트 랩핑 한 개념이었습니다. 새로운 페이지를 요청할 때마다 Zend Framework 애플리케이션이 처음부터 실행되므로 한 요청에서 다음 요청으로 살아남 아야하는 모든 데이터를 저장해야합니다.
어때 $ this-> publicFunction() -> yourVariable? –
변수를 매개 변수로 요청에 전달하거나 세션에 저장해야합니다. 이러한 방법으로 오류가 발생하면 시도하고있는 내용과 질문에 오류가 있음을 자세히 설명해야합니다. –
확실하게 :이 데이터를 저장하고 다른 * 요청 *에서 사용하려면 세션 또는 db와 같은 일종의 외부 저장소에 있거나 파일 시스템에 있어야합니다.클래스 멤버 또는 전역 변수로 저장된 모든 데이터는 후속 요청에서 손실됩니다. –