移动到托管服务器时,调用未定义的方法CI_Loader :: template()

时间:2015-11-10 09:21:08

标签: php codeigniter undefined-function

我正在使用CI 3和所有功能区域在我的本地服务器上工作。

但是当我将它上传到网站主办服务器时,它给了我这个错误:

  Call to undefined method CI_Loader::template()

我的控制器“Main.php”的代码为:

 class Main extends CI_Controller {
    function __construct() {
        parent::__construct();                  
        /* enable session */            
        //$this->output->enable_profiler(TRUE);             
    }

    public function index() {
        if ( ! file_exists(APPPATH.'/views/admin/main.php'))
        {
            /* Whoops, we don't have a page for that! */
            show_404();
        }


        $data['menu'] = $this->load->view('templates/menu', $data, TRUE);                           
        $data['title'] = "EGB | Main"; 
        $this->load->template('admin/main', $data);

        //$this->load->view('admin/main', $data);                                   
    }
 }

并且在“My_Loader.php”中有:

 class MY_Loader extends CI_Loader {
    public function template($template_name, $vars = array(), $return = FALSE)
    {
         if($return):
            $content  = $this->view('templates/header', $vars, $return);
            $content .= $this->view($template_name, $vars, $return);
            $content .= $this->view('templates/footer', $vars, $return);

            return $content;
        else:
            $this->view('templates/header', $vars);
            $this->view($template_name, $vars);
            $this->view('templates/footer', $vars);
        endif;
    }
}

可能出现什么问题?

提前致谢。

2 个答案:

答案 0 :(得分:4)

您的核心文件名应与班级名称匹配。

尝试将文件名更改为

  

芯/的 MY_Loader.php

而不是

  

芯/的 My_Loader.php

答案 1 :(得分:1)

必须是

  

MY_Loader.php

只。前缀是固定的。