我想知道是否允许在一个控制器中访问/获取/使用从一个函数到另一个函数的变量?
谢谢。
答案 0 :(得分:0)
尝试这样的事情。
class Index extends CI_Controller {
protected $var1;
public function index() {
$this->setVar1();
echo $this->var1; // print $var1
}
public function setVar1() {
$this->var1 = 1;
}
}
答案 1 :(得分:0)
$superduper = 'superduper' ;
仅在方法(功能)中本地可用 或像
一样传递$this->reviews->insertToReviews($superduper) ;
<强> 与 强>
$this->superduper = 'superduper' ;
只要$ this-&gt; variablename在控制器中声明,它立即可用于:
所以不传递变量 - 在视图中你可以使用
echo 'my lunch is ' . $this->superduper ;
但通常最好将值显式传递给视图,特别是如果它们对于方法是唯一的 - 它可以更容易地查看正在发生的事情。所以在控制器的情况下:
$data['superduper'] = $this->superduper ;
并在视野中
echo 'my lunch is ' . $superduper ;
现在当有人看到控制器中的方法时 - 我们可以看到superduper正被传递给$ data。关键是即使你可以通过声明$ this-&gt; somename来避免将变量名传递给方法或视图 - 如果你在本地传递它们,它可以更容易看到发生了什么。
反面是:
$this->error_message = "Error retrieving database records";
太棒了。您可以在任何方法中获得错误消息,无论发生什么,它们都将自动可用。所以在你的视图文件中有类似
的东西if($this->error_message != '') { echo $this->error_message ;}
这在您构建网站时特别有用。