【问题标题】:Using same config files for multiple codeigniter projects对多个 codeigniter 项目使用相同的配置文件
【发布时间】:2013-02-04 15:20:59
【问题描述】:

我正在建立一个项目,我希望在其中使用相同的 codeigniter 系统 + 在不同网站之间共享一些通用模型、库甚至配置文件。

我已将我的系统文件夹和一个缩小的应用程序文件夹放在 docs/include/codeigniter 中,并且我在每个网站的索引文件中定义了系统文件夹的路径。我想,为了使用这个应用程序文件夹中的模型、库和配置文件,我应该使用 https://www.codeigniter.com/userguide3/libraries/loader.html 中的 add_package_path() 函数

但是我可以在哪里调用以确保它尽早加载?我什至希望能够共享 autoload.php 配置文件,但是如果我在索引控制器的构造函数中调用此方法,我会收到错误消息,因为 CI 需要在开始加载控制器之前使用一些配置文件.

【问题讨论】:

  • 如果是这种情况,请将它们设为一个应用程序并使用文件夹 + 路由来管理它,就好像它是两个应用程序一样。如果您要重复使用第一个应用程序中的所有内容,那么编写两个应用程序是没有意义的。
  • @tereško:你通常是对的,我也会选择这个解决方案,但有时(就像发生在我身上一样)你只是没有从一开始就编写代码。

标签: php codeigniter directory-structure


【解决方案1】:

我不知道使用add_package_path() 的解决方案,但这可以工作:

配置

首先,查看application/config/autoload.php 以获得$autoload['config']

如果由于某种原因不适合您的目的:CodeIgniter 配置文件也只是 PHP 文件。因此,您可以创建自己的 common_config.php 文件,然后在 CodeIgniter 项目的配置文件中使用 require '../some_common_folder/common_config.php';

型号

同样,请参阅 application/config/autoload.php 以获取 $autoload['model']

您还可以在每个 CodeIgniter 项目的 index.php 文件中定义自己的 function __autoload($classname) {},您可以在其中加载/要求/包含任何您想要的内容。

【讨论】:

    猜你喜欢
    • 2020-05-03
    • 2021-02-06
    • 2013-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-07
    • 1970-01-01
    相关资源
    最近更新 更多