2014-02-13 3 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를 포함하지만, 그래서 그들을 그렇게 두 폴더가 사용할 수 있습니다 어딘가에 일반적인 저장하려는 각 폴더에 복제되는 많은 기능이있다.

적절한 방법은 무엇입니까?

같은 "시스템"폴더 같은 CI 버전을 사용할 수 있도록 각 응용 프로그램 공유에 대한 각각의 index.php 파일에 다음

here을 유도하고 자신의 폴더에 각 응용 프로그램을 분할, 그래서 당신이 말을 할 수

답변

0

이 :

C:\xampp\system 
:

합니다 (웹 서버 XAMPP 사용입니다) 아파치 루트로
C:\xampp\htdocs\ 

다음 공용 보이는 폴더 외부 시스템 폴더를 넣을 것

그리고 당신은이 같은 각 응용 프로그램 것 :

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

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

것은 당신이 있다는 것은 그 portalN 폴더 안에 각각의 index.php가 동일한 시스템 폴더를 가리 있는지 확인 않았다 일단을

"system"을 "codeigniter-2.1.4"와 같이 더 의미있는 이름으로 바꾸거나 사용중인 버전이 웹 응용 프로그램의 각 버전이 사용하고있는 버전을 알려주기 때문에 이름을 바꾸는 것이 좋습니다.

마지막으로 새로운 helper을 만들면됩니다. CI에서 아무 것도 인스턴스화하지 않고도 앱용으로 사용할 수 있습니다.

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

그리고를 : 둘 이상의 컨트롤러/모델 /보기에서 사용하려는 경우

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

또는 autoload.php에서 자동로드를 : 당신은 수동으로로드 중 하나를해야합니다 속임수는 CI가 시스템 폴더에서 실제로로드 된 이후 각 응용 프로그램 폴더에 배치하는 대신 "시스템/도우미"폴더 안에 도우미를 넣는 것입니다. 그러면 모든 응용 프로그램에 대한 도우미도로드됩니다.