首页 > codeigniter怎么从my_controller里传值到其它controller?

codeigniter怎么从my_controller里传值到其它controller?

My_Controller里是这么写的:


class BaseController extends My_Controller {
    // public $data;
    public function __construct() {
        parent::__construct();
        // $this->get_right();
    }
    public function get_right(){
        $data['rightinfos'] = $this->Com_model->get_top20info();
        $data['right0'] = $this->Com_model->get_site_new();
        $data['right1'] = $this->Com_model->get_site_hot();
        $data['right2'] = $this->Com_model->get_site_hot2();
        return $data;
    }
}

然后我在site这个控制器里:

class Site extends BaseController {
    public function __construct() {
        parent::__construct(); 
        $this->load->model('Site_model'); 
    }

    
    public function page() {
  
        $data=$this->get_right();
        print_r($data);
        die();

//***

目前这样是可行的,但是必须在page方法里写$data=$this->get_right();这句。
感觉不方便。想在__construct后就能获取到$data
应该怎么写?


class BaseController extends My_Controller {

    public $data;
    
    public function __construct() {
        parent::__construct();
        $this->data = $this->get_right();
    }
    public function get_right(){
        $data['rightinfos'] = $this->Com_model->get_top20info();
        $data['right0'] = $this->Com_model->get_site_new();
        $data['right1'] = $this->Com_model->get_site_hot();
        $data['right2'] = $this->Com_model->get_site_hot2();
        return $data;
    }
}
class Site extends BaseController {
    public function __construct() {
        parent::__construct(); 
        $this->load->model('Site_model'); 
    }

    
    public function page() {
        print_r($this->data);
        die();

//***
【热门文章】
【热门文章】