2

我正在尝试在 1 个 codeigniter 应用程序下创建多个应用程序,但是其中一些将共享相同的配置,例如数据库配置。

-application
  -config
  -models
  -project_1
    -config
    -controllers
    -models
  -project_2
    -config
    -controllers

是否可以在应用程序文件夹的第一级加载配置,如果配置文件不存在,则查找应用程序级的文件夹?我知道当我使用 add_package_path() 手动加载配置时,这是可能的,但自动加载不起作用。

4

2 回答 2

2

为什么不保持简单:

<?php

    // This app has no config. Use the shared one
    require_once('/path/to/common/config.php');
于 2013-01-23T08:57:56.243 回答
1

你应该使用包:

http://ellislab.com/codeigniter/user-guide/libraries/loader.html

我倾向于在 web 根目录中创建一个名为“share”的包,即 packages/share

在您的包文件夹中,您可以创建一个类似于核心 CI 应用程序配置、帮助程序、模型、视图等的文件夹结构。

假设您只想拥有一个 DB 文件,您可以将 db 配置文件放在 packages/share/config 中,并在应用程序数据库文件中使用以下内容调用此文件:

include_once(FCPATH . 'packages/share/config/database.php');
于 2013-01-23T09:29:24.763 回答