2013-02-04 94 views
1

我正在设置一个项目,我希望使用相同的codeigniter系统+在不同的网站之间共享一些常见的模型,库和配置文件。对多个codeigniter项目使用相同的配置文件

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

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

+0

如果是这样的话,让他们一个应用程序和使用文件夹+路线来管理它,就好像它是两个应用程序。如果要重新使用第一个应用程序的所有内容,那么写两个应用程序就没有意义了。 – ahmad

+0

@tereško:你大体上是对的,我也会选择这个解决方案,但有时(就像它发生在我身上),你从一开始就没有写代码。 –

回答

0

我不知道用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) {},您可以在其中加载/需要/包含任何您想要的内容。

相关问题