我在我的CI应用程序"pre_controller hook"中使用了钩子.
但问题是每次向任何其他控制器发出请求时都会激活挂钩,即使是我不想激活挂钩的控制器.可以只为一个控制器启用挂钩吗?就像playframework中的@Before注释一样.
提前致谢.
为什么不将该逻辑放在控制器的构造函数中?
如果您有多个控制器希望共享此功能,只需CI_Controller使用新类扩展application/core/MY_Controller.php并将功能放入其中,然后在控制器中让它们扩展该类而不是默认的CI_Controller(您可以添加多个类)MY_Controller.php)!
你放在override类中的任何东西都会MY_Controller.php在控制器其余部分的代码之前执行,模拟pre_controller钩子.
只记得调用父构造函数:
function __construct(){
parent::__construct();
}
Run Code Online (Sandbox Code Playgroud)
有关扩展核心的更多信息,请参阅手册:https://www.codeigniter.com/user_guide/general/core_classes.html
| 归档时间: |
|
| 查看次数: |
1925 次 |
| 最近记录: |