Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.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 更改控制器加载位置,以及can';不要在控制器中使用任何函数_Php_Codeigniter - Fatal编程技术网

Php 更改控制器加载位置,以及can';不要在控制器中使用任何函数

Php 更改控制器加载位置,以及can';不要在控制器中使用任何函数,php,codeigniter,Php,Codeigniter,默认情况下,正如许多人可能知道的,codeigniter从应用程序/控制器(URI段0)加载控制器。好。。。我更改了它,以便它将它们加载到应用程序/模块/(URI段0)/控制器/(URI段1/未设置:URI段0)。到目前为止,一切正常,但当我创建一个控制器时,我不能使用任何默认函数作为$this->load或诸如此类。。。例如: /** * Home Controller Class */ class Home extends CI_Controller { function __con

默认情况下,正如许多人可能知道的,codeigniter从
应用程序/控制器(URI段0)
加载控制器。好。。。我更改了它,以便它将它们加载到应用程序/模块/(URI段0)/控制器/(URI段1/未设置:URI段0)。到目前为止,一切正常,但当我创建一个控制器时,我不能使用任何默认函数作为
$this->load
或诸如此类。。。例如:

/**
* Home Controller Class
*/
class Home extends CI_Controller
{
    function __construct()
    {
        $this->load->database();
    }

    public function index()
    {
        echo "Testing...";
    }
}
此示例始终会导致错误:

严重性:通知

消息:未定义的属性:主页::$load

文件名:controllers/home.php

电话号码:10


我不知道你到底是怎么改变控制器的位置的

但是当您扩展
CI\u控制器
并使用构造函数方法时,首先需要执行父级的
\u construct()
方法,如下所示:

class Home扩展CI_控制器
{
函数_u构造()
{
/*执行CI_控制器构造函数*/
父项::_构造();
$this->load->database();
}
}
这是因为您的本地构造函数将覆盖父类控制器类中的构造函数。所以你需要手动调用它

关于SO的类似主题: