我正在尝试在1个codeigniter应用程序下创建多个应用程序,但是其中一些应用程序将共享相同的配置,例如数据库配置。
-application
-config
-models
-project_1
-config
-controllers
-models
-project_2
-config
-controllers
是否可以在应用程序文件夹的第一级加载配置,如果配置文件不存在,则查找应用程序级别的文件夹?我知道当我使用add_package_path()手动加载配置时,有可能,但自动加载不起作用。
答案 0 :(得分:2)
为什么不保持简单:
<?php
// This app has no config. Use the shared one
require_once('/path/to/common/config.php');
答案 1 :(得分:1)
你应该使用包:
http://ellislab.com/codeigniter/user-guide/libraries/loader.html
我倾向于在网络根目录中创建一个名为“share”的软件包,即packages / share
在您的packages文件夹中,您可以创建类似于核心CI应用程序配置,帮助程序,模型,视图等的文件夹结构。
假设您只想拥有一个数据库文件,可以将db配置文件放在packages / share / config中,并在应用程序数据库文件中使用以下命令调用此文件:
include_once(FCPATH . 'packages/share/config/database.php');