访问codeigniter 3.0.1中的子类

时间:2015-10-12 12:29:00

标签: php codeigniter

我将基于登录典型扩展控制器,所以我在应用程序目录上创建如下:

core
 -MY_Controller
 -public controller

MY_Controller

<?php
    if (!defined('BASEPATH')) exit('No direct script access allowed');

    class MY_Controller extends CI_Controller
    {

       public function __construct()
       {
          parent::__construct();
       }
    }

公共控制人

<?php

  class Public_Controller extends MY_Controller
  {
     //Some Logic here
     public $layout = 'layout';
  }

现在,是时候使用这些东西了。 我写申请/路线$route['default_controller'] = 'Home';

因此,名为Home的控件将如下所示:

<?php
  class Home extends Public_Controller {
    public function index() {
        $this->load->view('public/home');
    }
}

但不幸的是,它给了我这样的错误:

Fatal error: Class 'Public_Controller' not found in C:\wamp\www\egi\application\controllers\Home.php on line 5

为什么我不能扩展子类?

注意 但是,如果我从MY_Controller扩展,它的成功

  <?php
     class Home extends MY_Controller {
       public function index() {
         $this->load->view('public/home');
    }
}

任何帮助它如此赞赏

1 个答案:

答案 0 :(得分:0)

您可以通过以下方式之一完成此操作。

  • 在&#34; application / core&#34;中有一个名为Public_controller的文件。 &安培;在您的application / core / MY_Controller.php文件中包含该文件。
  • 在MY_Controller文件中定义Public_Controller,默认情况下自动加载,这意味着你最终会得到类似的东西。

文件:application / core / MY_Controller.php

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

class Public_Controller extends CI_Controller {
   public function __construct () {
         parent::__construct();
   }
}