我是CI的新手,我正在尝试通过应用程序访问私有变量,但是我为变量设置了一个值,下次我尝试访问该函数时(我在我的提交表单中调用了该函数)视图),我设置的私有变量是空的。有人可以帮忙吗? THX
class Example extends CI_Controller{
private $_variable;
public function __construct()
{
parent::__construct();
}
public function index()
{
//value from database
$this->_variable = 'somevalue';
}
//calling this function from a view
public function some_method()
{
// code...
// $this->_variable returning without any value
}
}
答案 0 :(得分:0)
您的some_method
实际上不是视图。它最多可能是一个将从视图调用的示例控制器函数。您的index()
函数实际上是在您的私有$_variable
中分配值,因此要将值传递给您的视图,您必须首先调用index()
函数来分配变量,并且该值将可用到你的some_method()
。下面将给出如何将变量传递给视图的示例。
public function some_method()
{
return $this->_variable;
}
在您的视图中,要访问变量:
echo $this->some_method();
我相信这会帮助您在视图中显示私有变量。
答案 1 :(得分:0)
您的观点不应该直接尝试访问控制器的方法,而应该在第二个arg中调用视图时发送它们:
See Codeigniter's docs related to this(我认为你是西班牙语,因为你使用"变量")。
$args = Array( "var1" => "variable", "var2" => "variable" );
$this->load->view("some_url", $args);
然后您的视图中将提供$ var1和$ var2。