根据前面的问题,我正在为codeigniter设置HMVC扩展。https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/wiki/Home不幸的是,我在文档方面找不到太多。
我对如何设置我的文件夹感到困惑。我已经复制了third_party中的MX文件夹以及核心文件夹中的文件。在那之后,我创建了一个application/modules文件夹。从那里,我想创建一个横幅滑块小工具。我在模块中创建了一个名为“slider”的子文件夹,里面有“controllers”、“models”和“views”文件夹。在我的应用程序/模块/滑块/控制器/文件夹中,我有一个名为main.php的控制器。在我的应用程序/模块/滑块/模型/文件夹中,我有一个名为slider_model.php的模型。首先,这是一个合适的文件夹结构来使用它吗?如果是这样,这就是我遇到的问题。
加载站点的welcome.php控制器如下所示:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Welcome extends CI_Controller {
/**
* Index Page for this controller.
*
* Maps to the following URL
* http://example.com/index.php/welcome
* - or -
* http://example.com/index.php/welcome/index
* - or -
* Since this controller is set as the default controller in
* config/routes.php, it's displayed at http://example.com/
*
* So any other public methods not prefixed with an underscore will
* map to /index.php/welcome/<method_name>
* @see http://codeigniter.com/user_guide/general/urls.html
*/
public function index()
{
$this->load->view('header');
$this->load->view('welcome_message');
$this->load->view('footer');
}
}
/* End of file welcome.php */
/* Location: ./application/controllers/welcome.php */在welcome_message.php视图中,我有以下内容:
<? echo Modules::run("slider/main/getcontent/"); ?>然后,在主控制器内部,我有这个:
<?php
class Main extends MX_Controller{
function __construct(){
parent::__construct();
$this->load->model('slider/Slider_model','Slider');
}
function getcontent(){
//
//echo $this->Slider->test_conn();
echo "Testing...";
}
}
?>现在,我得到这个错误:致命错误:无法在第57行的/homepages/15/d94236848/htdocs/application/third_party/MX/Base.php中重新声明类CI
我遗漏了什么?
发布于 2011-08-11 05:12:22
根据上面的评论,我重新发布了我的评论作为答案。
我想通了。在我的welcome.php控制器上,我需要更改它,以便它扩展MX_Controller而不是CI_Controller。我还需要删除welcome_message.php模块调用中的最后一个斜杠。
https://stackoverflow.com/questions/6968240
复制相似问题