在 codeigniter 中运行一个 init 函数
Posted
技术标签:
【中文标题】在 codeigniter 中运行一个 init 函数【英文标题】:Run an init function in codeigniter 【发布时间】:2017-03-26 20:50:17 【问题描述】:所以我有我的 codeigniter 设置,其中我有一大堆自动加载的帮助程序、库等。我编写了一个函数,我想在应用程序引导之前执行它。让我们调用函数init()
并假设它在其中一个助手中定义。问题是它使用来自其他自动加载的帮助程序和库等的函数,因此在自动加载的文件本身中调用 init() 并没有帮助,因为它会遇到“调用未定义的函数 X”等。
所以我想在加载完所有内容后进行 init() 调用。我无法在默认控制器中调用它,因为用户可能有不同的 URL 书签。
在这种情况下调用 init() 的最佳方式是什么?
【问题讨论】:
【参考方案1】:在application/config/hooks.php
中添加hook
$hook['pre_controller'] = function()
// ...
;
您可以使用在另一个文件中声明的函数,例如:
$hook['pre_controller'] = array(
// ...
'function' => 'init'
);
有许多可用的钩子,但在你的情况下,'pre_controller' 钩子对我来说似乎很合适,因为pre_controller
在你的任何控制器被调用之前立即被调用。所有基类、路由和安全检查均已完成。
【讨论】:
以上是关于在 codeigniter 中运行一个 init 函数的主要内容,如果未能解决你的问题,请参考以下文章