为什么我的代码以以下结尾:在 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);
我在 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);