我想访问和更改已经在 codeigniter 的模型类中设置的变量。
CLASS m_example extends CI_Model{
var $A;
public function __construct(){
$this->A=21;
}
public function check_v()
{
return $this->A;
}
}
所以我想在控制器中调用函数 check_v() 之前更改变量 $A 。
谢谢!
我想访问和更改已经在 codeigniter 的模型类中设置的变量。
CLASS m_example extends CI_Model{
var $A;
public function __construct(){
$this->A=21;
}
public function check_v()
{
return $this->A;
}
}
所以我想在控制器中调用函数 check_v() 之前更改变量 $A 。
谢谢!
您可以使用 getter 和 setter 方法,如下所示,
class m_example extends CI_Model{
private $A;
public function __construct(){
$this->A=21;
}
// get the value
public function get_v()
{
return $this->A;
}
// set the value
public function set_v($val){
$this->A = $val;
}
}
接着,
$this->load->model('m_example');
$this->m_example->set_v(50);
echo $this->m_example->get_v();
首先,加载模型:
$this->load->model('m_example');
访问它:
$this->m_example->a = "something";
因为你已经用 $this-> 在你的构造函数中设置了 A,所以它可以立即用于模型中的任何方法。因此,如果 $this->A 被其他方法更改,则 check_v() 将返回最新/更改的版本
function hijackA($newvalue){
$this->A = $newvalue ;
}
在控制器中
$this->m_example->hijackA($newvalue) ;
$a = $this->m_example->check_v() ;
check_v() 现在将返回 $newvalue