如何加载模型和变量到CodeIgniter构造函数

时间:2017-03-22 09:41:41

标签: php codeigniter

我有一个简单的网站,我需要在所有页面上访问一些功能(标题中的动态导航栏,is_login方法和东西)。所以我创建了MY_Controller并从中扩展了所有其他控制器,我无法弄清楚为什么没有任何东西被加载到扩展它的所有其他控制器。

这是ci / application / core / MY_Controller.php

<?php

  defined('BASEPATH') OR exit('No direct script access allowed');

  class MY_Controller extends CI_Controller {


  public $data=[];

  function __construct()
  {


    parent::__construct();

    if ( ! $this->session->userdata('loginuser'))
    {
        redirect('login');
    }
    $this->load->model('Page_model');
    $this->data['links'] = $this->Page_model->get_links();
    $this->data['notifications'] = $this->Page_model-      
                                >get_notifications_count();

    }
  }

这是我的家庭控制器Home.php

<?php

 defined('BASEPATH') OR exit('No direct script access allowed');

   class Home extends MY_Controller  {

     public function __construct()
     {

      parent::__construct();

      }

      public function index()
     {

    $data['site_title'] = 'Porsche';

            $data['site_title'] = 'Porsche';
            $data['page'] = 'home';
            $this->twig->display('home',$data);
   }

}

为什么我只能看到家庭控制器的“本地”变量?当我从MY_Controller打印变量时,我得到Null ... 感谢

1 个答案:

答案 0 :(得分:0)

确保此文件保存为application/core/MY_Controller.php

class MY_Controller extends Controller{
    public function __construct(){
        parent::__construct();
    }
}