2009-11-02 4 views
1

저는 코드 점화기와 PHP (Java 배경에서 오는)에 새로 추가되었습니다.코드 점화기 응용 프로그램에서 공유 모델 분리

동일한 컴퓨터에서 실행될 수도 있고 실행되지 않을 수도있는 세 개의 응용 프로그램에서 공유하는 모델을 만들고 싶습니다. 그래서 모델 클래스를 모두 세 가지로 공유하고 SCM 시스템에서 쉽게 처리 할 수 ​​있도록 유지하려고합니다. 의/var/www /에서 APP1 의/var/www /에서 APP1/모델 의/var/www가 : 이미 CI를 공유하기 위해 별도의 디렉토리에 응용 프로그램을 세분화 한 경우 :

그래서 내 생각은 다음을 수행하는 것이 었습니다

의/var/APP1/컨트롤러 ... 의/var/www /에서 APP2 의/var/www /에서 앱 3 의/var/www /에서 시스템

는 다음에 모델을 넣어 공유 폴더를 생성/www/shared/models

이제 CI를 해킹하여 모델을 찾을 수 있습니다. 또는 심볼릭 링크를 사용할 수 있습니다. 예 : /var/www/app1/models -> ../shared/models /var/www/app2/models -> ../shared/models /var/www/app3/models -> ../shared/models

저는 PHP의 내부 동작에 익숙하지 않아 최소한 성능면에서는 좋다고 생각합니다. 모델 파일이 최대 3 번 (어쩌면 4)로드 될 수 있기 때문에 충돌이 발생합니다. 그렇지 않은 경우 똑같은 이름의 파일 4 개가 있기 때문에 바보 일 것입니다.

이것은 나쁜 생각입니까? 이 작업을 수행하는 더 좋은 방법이 있습니까?

답변

0

Kohana을 대신 사용해 보았습니까? 코 하나 (Kohana)는 처음에는 CI가 아닌 포크에서 시작되었지만 그 자체로 탁월한 프레임 워크가되었습니다. 다른 웹 프레임 워크에서 찾을 수없는 cascading filesystem 기능은 모델/뷰/컨트롤러/라이브러리/헬퍼 등을 공유하는 데 여러 애플리케이션을 사용하는 것이 매우 유용합니다.

다음은 Kohana 2.x에서의 작업 방법입니다. :

  • 는 예를 들어 /apps/kohana/system/apps/kohana/modules

  • 인근 곳, 예를 응용 프로그램 폴더를 넣고, HTTP 루트 외부의 위치에 시스템과 모듈 폴더를 업로드 /apps/kohana/applications/app1

  • 3 폴더를 가리 키도록 /public_html/index.php을 설정하십시오.

    $kohana_application = '../apps/kohana/applications/app1'; 
    $kohana_modules = '../apps/kohana/modules'; 
    $kohana_system = '../apps/kohana/system'; 
    

  • 이제 당신이 /apps/kohana/system/models/에 앱을 공유 할 할 모델을 던져. 또는 일부 앱으로 만 제한하려면 예를 들어 /apps/kohana/modules/mymodule1과 같은 모듈을 만들고 해당 앱이 해당 모듈을 사용하도록 구성하십시오.
+0

답변 주셔서 감사합니다. Kohana의 안정성과 확장 성은 어떻습니까? CI에서 벗어난 포크로, 많은 다른 생산 환경에서 테스트 할 충분한 노출을 얻었습니까? –

+0

사실, 신경 쓰지 마세요. 나는 사이트와 포럼을 체크 아웃했다. 매우 적극적으로 보이고 튜토리얼은 훌륭하다. 답변 해 주셔서 감사합니다. –

+0

CodeIgniter 질문에 대한 대답은 무엇입니까? –

관련 문제