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 包括时,Codeigniter中的扩展挂钩未点火_Php_Codeigniter - Fatal编程技术网

Php 包括时,Codeigniter中的扩展挂钩未点火

Php 包括时,Codeigniter中的扩展挂钩未点火,php,codeigniter,Php,Codeigniter,我试图通过添加一些我自己的钩子来扩展内置钩子的功能。关于这个的文档非常稀少,所以我把它贴在这里,希望你们中的一个人也做过类似的事情 我在application/core文件夹下添加了一个MY_Hooks.php文件,如下所示 class MY_Hooks extends CI_Hooks { public function __construct() { parent::__construct(); echo "<pre>"; var_dump( $thi

我试图通过添加一些我自己的钩子来扩展内置钩子的功能。关于这个的文档非常稀少,所以我把它贴在这里,希望你们中的一个人也做过类似的事情

我在application/core文件夹下添加了一个MY_Hooks.php文件,如下所示

class MY_Hooks extends CI_Hooks {

public function __construct()
{

    parent::__construct();
    echo "<pre>";
    var_dump( $this->hooks );
    echo "</pre>";

    //this works fine when placed right here
    $this->hooks["admin_start"] = function(){
      echo "Boosting";
    };
    // this doesnt work when i simply include the file from the theme directory
    if (file_exists(APPPATH.'themes/default/hooks.php'))
    {
        include(APPPATH.'themes/default/hooks.php');
    }
}
}
然后在下一个代码片段中,我只是尝试从我设置的主题目录中包含相同的代码。这是行不通的。所以我挠头问为什么


因此,它与include文件中的代码相同。请告诉我我错过了什么。提前谢谢

什么不起作用?if或include语句?是的,当我将代码移动到include文件中时,它不起作用。但当它如图所示时,它运行良好。但它确实需要从主题目录中包含。IF工作正常。$this->hooks部分似乎失去了作用域。您有没有试过require_?使其正常工作的唯一方法是将其添加到
system/hooks
文件夹
//获取主题“hooks”定义文件。如果(file_exists(APPPATH.themes/default/hooks.php')){include(APPPATH.themes/default/hooks.php')}
每次点击
parent::u-construct
在这个新扩展的文件中,它似乎会杀死所有东西,我假设您已经设置了hooks配置?什么不起作用?if或include语句?是的,当我将代码移动到include文件中时,它不起作用。但当它如图所示时,它运行良好。但它确实需要从主题目录中包含。IF工作正常。$this->hooks部分似乎失去了作用域。您有没有试过require_?使其正常工作的唯一方法是将其添加到
system/hooks
文件夹
//获取主题“hooks”定义文件。如果(file_exists(APPPATH.themes/default/hooks.php')){include(APPPATH.themes/default/hooks.php')}
每次点击
parent::u-construct
在这个新扩展的文件中,它似乎会杀死所有东西,我假设您已经设置了hooks配置?
 $this->hooks["admin_start"] = function(){
      echo "Boosting";
 };
if (file_exists(APPPATH.'themes/default/hooks.php'))
    {
        include(APPPATH.'themes/default/hooks.php');
}