recherche

Maison  >  Questions et réponses  >  le corps du texte

Comment codeigniter transmet-il les valeurs de my_controller à d'autres contrôleurs ?

My_Controller dit ceci :


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;
    }
}

Ensuite je suis dans le contrôleur du 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();

//***

C'est actuellement réalisable, mais cela doit être écrit dans la méthode page$data=$this->get_right();这句。
感觉不方便。想在__construct后就能获取到$data
Comment doit-il être écrit ?

仅有的幸福仅有的幸福2829 Il y a quelques jours372

répondre à tous(1)je répondrai

  • 为情所困

    为情所困2017-05-16 16:45:33

    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();
    
    //***

    répondre
    0
  • Annulerrépondre