为什么我的代码以以下结尾:在 null 上调用成员函数 sample_template()

Why does my code end with: Call to a member function sample_template() on null

我在 codeigniter 中使用分层 MVC 模型。我创建了一个名为模板的控制器,并在其中创建了一个名为 sample_template 的函数。然后创建了一个名为 sample_template_v 的视图,并在模板控制器中调用它。我创建了另一个控制器 Admin 并调用了 Template->sample_template($data);在它的 2 个函数中。

MY_Controlle.php

<?php

class MY_Controller extends MX_Controller

{

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

        $this->load->module('Template');
    }
}

Admin.php

<?php

class Admin extends MY_Controller

{

    function __construct()

    {
        parent::__construct();
    }

    function index()
    {

        $data['content_view'] = 'admin/admin_v';
        $this->Template->sample_template($data);

    }

    function about()
    {
        $data['content_view'] = 'admin/about_v';
        $this->Template->sample_template($data);
    }

}

Template.php

<?php

class Template extends MY_Controller

{

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

    function sample_template($data = NULL)
    {
        $this->load->view('Template/sample_template_v', $data);
    }
}

sample_template_v.php 文件---->

<h5>This is the main Template.</h5>


<?php $this->load->view($content_view); ?>

错误:

如果要从对象调用方法,则需要初始化对象,然后调用方法。确保 $this->template is set 在你的情况下它不是。

    $this->template = new Template();

    $this->template->sample_template($data);