あなたが値を開始するときに私の推測を逃さない限り:
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
}
後で同じコントローラーまたは別のコントローラーで
public function newAction(){
//access the session
$session = new Zend_Session_Namespace('number');
//assign the value to the view
$this->view->value = $session->value;
}
new.phtml ビューに
<?php echo $this-value ?>
PHP、特に Zend Framework 1 を使用する際に覚えておくべき重要なことは、すべてのリクエストがアプリケーション全体を実行することです。
これは、最初に私をつまずかせた概念でした。新しいページをリクエストするたびに、Zend Framework アプリケーションはゼロから実行されるため、あるリクエストから次のリクエストまで存続する必要があるデータはすべて保存 (永続化) する必要があります。