根據上一個問題,我正在爲codeigniter設置HMVC擴展。 https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/wiki/Home 不幸的是,我找不到很多文件的方式。CodeIgniter HMVC設置
我很困惑如何設置我的文件夾。我已經複製了third_party中的MX文件夾以及核心文件夾中的文件。之後,我創建了一個application/modules文件夾。從那裏我想創建一個橫幅滑塊小部件。我在模塊中創建了一個名爲'slider'的子文件夾,其中包含'controllers','models'和'views'文件夾。在我的應用程序/ modules/slider/controllers /文件夾中,我有一個名爲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...";
}
}
?>
就這樣我得到這個錯誤:致命錯誤:不能r edeclare class CI in /homepages/15/d94236848/htdocs/application/third_party/MX/Base.php on line 57
我錯過了什麼?
想通了。在我的welcome.php控制器上,我需要對其進行更改,以便擴展MX_Controller而不是CI_Controller。我還需要刪除welcome_message.php中模塊調用中的最後一個斜槓。 – LoneWolfPR
如果你已經回答了這個問題,請添加它作爲答案,然後標記回答的問題。 – cwallenpoole