【问题标题】:CodeIgniter: where should I put custom utils?CodeIgniter:我应该把自定义工具放在哪里?
【发布时间】:2014-06-17 18:55:26
【问题描述】:

我正在使用 CodeIgniter,并且我希望每个控制器(即每个控制器文件)都可以访问一些实用程序。

问题是:把这些放在哪里?

我想到了助手,但 CI 文档 talks 只是关于扩展现有助手,而不是制作自己的助手。我敢肯定,这并不意味着我不能制作自己的助手,但这确实意味着我不知道应该如何构建它们(程序?全局 CI 实例的方法?等等)

我也考虑过钩子,但我认为这不太合适,因为我没有扩展核心功能。

或者还有其他我想念的方法吗?

【问题讨论】:

  • CodeIgniter 2.1.4?助手通常只是具有独立功能的文件,可以为非常不同的任务调用这些文件。如果您希望整个应用程序都可以访问它,请将其添加到 /application/helpers/specific_tasks_helper.php 文件夹中,然后通过将 specific_tasks 添加到 $autoload['helper'] 数组中自动加载到 /application/config/autoload.php
  • 感谢@MonkeyZeus

标签: php codeigniter


【解决方案1】:

我已经有一段时间没有这样做了,但我相信我使用了两种方法。

【讨论】:

    【解决方案2】:

    我只是通过将文件添加到 application/helpers 文件夹(也许我创建了那个文件夹 - 我不记得)然后以通常的方式加载它们来做到这一点。

    【讨论】:

    • 问题是,虽然,助手似乎是针对程序性、静态功能的,而我希望使用通用方法,即我的所有控制器都可以访问的方法。
    • 您在问题中提到了助手 - 在 CI 中,助手是函数。如果您想要所有控制器都可以访问的类方法,那么您正在谈论一些不同的东西。我认为您可能正在寻找的是所有控制器都可以继承的通用基类 - 如果是这种情况,那么您可以将您的基类放在控制器目录中。
    • 是的,这是另一位评论者的观点。在今天之前我不知道这些的存在 :) 谢谢。
    猜你喜欢
    • 2020-09-30
    • 1970-01-01
    • 1970-01-01
    • 2016-08-25
    • 2013-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-24
    相关资源
    最近更新 更多