2013-02-04 93 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) {},您可以在其中加載/需要/包含任何您想要的內容。

相關問題