除非我在您启动值时错过了我的猜测:
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 应用程序都会从头开始运行,因此必须保存(持久化)从一个请求到下一个请求需要保留的任何数据。