我在codeigniter中使用分层MVC模型。我创建了一个名为template的控制器,里面有一个名为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文件----&gt;
<h5>This is the main Template.</h5>
<?php $this->load->view($content_view); ?>
错误:
答案 0 :(得分:0)
如果要从对象调用方法,则需要初始化对象,然后调用方法。在你的情况下确保$this->template is set
不是。
$this->template = new Template();
$this->template->sample_template($data);