Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 扩展HMVC编码点火器模块内的控制器_Php_Codeigniter_Hmvc_Codeigniter Hmvc - Fatal编程技术网

Php 扩展HMVC编码点火器模块内的控制器

Php 扩展HMVC编码点火器模块内的控制器,php,codeigniter,hmvc,codeigniter-hmvc,Php,Codeigniter,Hmvc,Codeigniter Hmvc,如何在模块内部扩展HMVC模块的控制器? class Backend extends Backend_Controller { public function __construct(){ parent::__construct(); } } 假设与HMVC相关的以下典型Codeigniter文件结构: / /application /application/modules /application/modules/backen /application/mod

如何在模块内部扩展HMVC模块的控制器?

class Backend extends Backend_Controller {
    public function __construct(){
        parent::__construct();
    }
}
假设与HMVC相关的以下典型Codeigniter文件结构:

/
/application
/application/modules
/application/modules/backen
/application/modules/backen/controllers
/application/modules/backen/controllers/Backend.php
/application/modules/backen/libraries
/application/modules/backen/libraries/Backend_Controller.php

在此结构中,获取错误“未找到类”。工作放在文件夹“/application/libraries/Backend_Controller.php”中。

控制器必须在CodeIgniter中扩展CI_控制器。控制器不能扩展库,但可以像这样包含它们$this->load->library('backendLib')

如果您使用的是Wiredesignz HMVC扩展,则可以为此使用基本控制器。只需在core目录中创建一个backend_controller类,并将其扩展为MX_controller。现在,您可以使模块控制器扩展后端控制器

最好的


Bart

Hi CI始终查找以CI_控制器开头的核心类或以MY_控制器MY_电子邮件等开头的扩展类名称如果要调用的任何其他类不象库,您可以在config.php中添加以下代码将自动加载自定义类

/*
| -------------------------------------------------------------------------
| Native spl_autoload_register() - by Kenneth Vogt
| -------------------------------------------------------------------------
|
| Here is an updated version of Phil Sturgeon’s code:
|
| Thanks to Phil Sturgeon Kenneth Vogt and InsiteFX.
|
| NOTE:
| Requires PHP 5.3.+
| As of CI 3.0 Dev - The constant EXT has been removed modified
| to use '.php' now instead of EXT.
| should work for all version of CI and PHP 5.3
|
| Place at the bottom of your ./application/config/config.php file.
| -------------------------------------------------------------------------
*/

spl_autoload_register(function($class)
{
    if (strpos($class, 'CI_') !== 0)
    {
        if (file_exists($file = APPPATH . 'core/' . $class . '.php'))
        {
            include $file;
        }
        elseif (file_exists($file = APPPATH . 'libraries/' . $class . '.php'))
        {
            include $file;
        }
    }
}); 
来自此fourm post线程的引用

现在,您可以使用自定义控制器名称Backend\u controller扩展控制器。这个类应该在应用程序库或核心目录下可用