如何调用构造,因为它包含页面的所有必需数据?
class Abc extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->model('xyz_m');
$this->data['info'] = $this->xyz_m->get(); //get data
}
public function 123()
{
/*view page code*/
}
public function 456()
{
/*insert code here*/
$this->123(); // redirect, need to load 123() with updated data from construct.
}
}
那么,如何让__construct再次启动,以便从数据库中获得新的更新结果?
答案 0 :(得分:1)
您应首先使用字母命名方法,即方法名称的约定使用描述性词getProducts()
或get_books
,否则您将使用数字作为方法名称时出现PHP错误。因此,在您的情况下,方法名称应该类似于a123()
或b_456()
。
第二件事,关于您的需求,因为您使用模型将数据从数据库分配到数组$this->data
,您可以使用它:
class Abc extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->model('xyz_m');
$this->data['info'] = $this->xyz_m->get(); //get data
}
public function a123()
{
$this->load->view('a123_view', $this->data);//loading file APPPATH . 'a123_view.php' and passing created array to it
}
public function b_456()
{
/*insert code here*/
$this->a123(); // redirect, need to load 123() with updated data from construct.
}
}
在APPPATH . 'a123_view.php'
:
<?php var_dump($info);//here you would call key of array you passed from controller as variable ?>
检查CodeIgniter documentations中的基础知识。所有这些都在General Topics section中进行了描述。