【问题标题】:CodeIgniter HMVC setupCodeIgniter HMVC 设置
【发布时间】:2011-10-21 13:07:12
【问题描述】:

根据上一个问题,我正在为 codeigniter 设置 HMVC 扩展。 https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/wiki/Home 不幸的是,我找不到太多的文档。

我对如何设置文件夹感到困惑。我已经复制了 third_party 中的 MX 文件夹以及 core 文件夹中的文件。之后,我创建了一个应用程序/模块文件夹。从那里我想创建一个横幅滑块小部件。我在名为“slider”的模块中创建了一个子文件夹,其中包含“controllers”、“models”和“views”文件夹。在我的 application/modules/slider/controllers/ 文件夹中,我有一个名为 main.php 的控制器。在我的 application/modules/slider/models/ 文件夹中,我有一个名为 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

我错过了什么?

【问题讨论】:

  • 想通了。在我的welcome.php 控制器上,我需要对其进行更改,以便它扩展MX_Controller 而不是CI_Controller。我还需要删除在welcome_message.php 中对模块的调用中的最后一个斜杠。
  • 如果您已回答此问题,请将其添加为答案,然后将问题标记为已回答。

标签: codeigniter hmvc


【解决方案1】:

根据上面的评论,我将我的评论重新发布为答案。

想通了。在我的welcome.php 控制器上,我需要对其进行更改,使其扩展MX_Controller 而不是CI_Controller。我还需要删除welcome_message.php 中对模块的调用中的最后一个斜杠。

【讨论】:

    猜你喜欢
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 2019-05-13
    • 2018-05-02
    • 1970-01-01
    • 2015-06-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多