CodeIgniter钩子2025年3月17日 | 阅读 3 分钟 在 CodeIgniter 中,Hooks 是可以在程序执行之前和之后调用的事件。它允许在 CodeIgniter 执行过程中执行具有特定路径的脚本,而无需修改核心文件。例如,当您需要在控制器执行之前检查用户是否已登录时,可以使用它。使用 hook 可以节省您多次编写代码的时间。 CodeIgniter 中有两个 hook 文件。一个是 application/config/hooks.php 文件夹,另一个是 application /hooks 文件夹。 用另一种语言来说,如果您想在每次加载控制器构造函数后运行一段代码,您可以在 hooks 中指定该脚本的路径。 启用 Hooks要启用 Hook,请转到 application/config/config.php 文件,并将其设置为 TRUE,如下所示。 定义一个 Hook可以在 application/config/hooks.php 文件中定义一个 hook。每个 hook 都定义为一个数组,该数组由以下术语组成。 class - 在这里,您必须提及在 hooks.php 文件中定义的类的名称。如果您使用过程函数而不是类,请将其留空。 function - 提及您正在调用的函数名称。 filename - 在 application/hooks 文件夹中创建的文件名,其中包含上面提到的类和函数名称。 filepath - 在这里,您必须提及包含您的脚本的目录的名称。您的脚本必须位于 application 文件夹内。如果您的脚本位于 application/hooks 文件夹中,那么您的路径将很简单 hooks。但是,如果您的脚本位于 application/hooks/office 文件夹中,那么您的路径将是 hooks/office。 params - 它包括您要在脚本中传递的参数,它是可选的。 对同一个 Hook 的多次调用您可以使用数组多维来使用同一个 hook 点使用多个脚本。 方括号 [] 允许您使用多个脚本使用相同的 hook 点。您的执行顺序将与定义的数组相同。 Hook 点hook 点的列表如下所示。
它在系统执行之前被调用。此时只加载了 benchmark 和 hook 类。 它是在调用您的控制器之前立即调用的。此时,所有类、安全检查和路由都已完成。 它是在启动控制器后,但在调用任何方法之前立即调用的。 它是在您的控制器完全执行后立即调用的。 它用于在文件执行结束时发送最终页面。 它使您能够在输出类中调用您自己的函数。 它是在系统执行结束时将最终页面发送到浏览器之后调用的。 Hook 示例1) 首先,像上面提到的那样在您的 CodeIgniter 文件夹中启用 hook。 2) 在 application/controller 文件夹中创建一个控制器文件 example.php 在运行带有 URL 的上述程序时, https:///hooks/index.php/example,将出现以下输出。 ![]() 3) 在 application/hooks 文件夹中创建一个 hook 文件 exm.php。 4) 现在您必须在 application/config/hooks 文件夹中定义您的 hook。 5) 现在再次使用相同的 URL 运行您的程序并查看结果。 ![]() 下一篇主题在 CodeIgniter 中传递参数 |
我们请求您订阅我们的新闻通讯以获取最新更新。