2014-02-13 38 views
0

我在我的htdocs文件夾中爲每個新網站都有多個CI文件夾,在這裏我想分享所有這些文件夾中的一些常用功能。 我已經配置我的virtaul主機如下。在多個CI文件夾中共享通用功能

<VirtualHost *> 
    DocumentRoot "C:/xampp/htdocs/portal1" 
    ServerName test.exp1.org 
    <Directory "C:/xampp/htdocs/portal1"> 
     Order allow,deny Allow from all 
    </Directory> 
</VirtualHost> 

<VirtualHost *> 
    DocumentRoot "C:/xampp/htdocs/portal2" 
    ServerName test.exp2.org 
    <Directory "C:/xampp/htdocs/portal2"> 
     Order allow,deny Allow from all 
    </Directory> 
</VirtualHost> 

每個門戶文件夾中包含了自己的CI,但也有其複製的每個文件夾中,所以我希望他們能夠存儲某處共同所以這兩個文件夾可以使用它們的許多功能。

什麼是正確的方法來做到這一點?

回答

0

爲導向here

,然後爲每個應用程序共享相同的「系統」文件夾,以便您可以使用相同CI每個版本的index.php文件,你可以在自己的文件夾拆分每個應用程序,讓我們說你有:

C:\xampp\htdocs\ 

由於Apache的根(這是Web服務器XAMPP使用),那麼你會希望把系統文件夾以外的公共文件夾可見:

C:\xampp\system 

然後你就會有這樣每個應用程序:

C:\xampp\htdocs\portal1 
C:\xampp\htdocs\portal2 
C:\xampp\htdocs\portaln... 

一旦你這樣做,確保這些portalN文件夾中的每個index.php文件指向同一個系統文件夾:

$system_path = '../../system'; 

我強烈建議將「system」重命名爲「codeigniter-2.1.4」之類的更有意義的東西,或者您正在使用的任何版本,因爲它會告訴您至少每個Web應用程序正在使用哪個版本。您可以創建一個新的helper。沒有從CI實例化任何東西都可以在app-wise中使用。你只需要手動加載:

$this->load->helper('helper_name'); 

或者自動加載它在autoload.php,如果你打算使用它在一個以上的控制器/模型/視圖:

$autoload['helper'] = array('helper_name'); 

而這裏的訣竅是把你的幫助器放到你的「系統/幫助器」文件夾中,而不是放在每個應用程序文件夾中,這樣,因爲CI實際上是從系統文件夾加載的,它也會加載你所有應用程序的幫助器。