2009-09-22 4 views
0

CakePHP, App A, App B에 두 개의 응용 프로그램이 있습니다. 응용 프로그램 B에서 응용 프로그램 A의 모델에 액세스 할 수있게하려면 bootstrap.php 파일에서 $ modelPaths 변수로 가능하지만 두 모델 모두에서 동일한 이름을 가진 일부 모델. 이게 문제 야? 이것이 문제가되는 경우 App B에서 사용하는 일부 모델 만 App A에서 선택할 수 있습니까? 이것이 문제가되지 않는다면 App A의 모델과 App B의 모델을 어떻게 알 수 있습니까? 감사합니다CakePHP에서 응용 프로그램 간의 모델 클래스를 공유하는 방법은 무엇입니까?

답변

3

나는 CakePHP가 발견 한 첫 번째 모델을로드 할 것이라고 생각합니다.

내가 맞으면 app/models/ 폴더 (및 그 안에 들어있는 하위 디렉토리)의 모델부터 시작하여 정의한 추가 클래스 경로 (예 : $modelPaths)를 반복하여 마지막으로 코어 (즉, cake/lib/model/).

그래서 기본적으로 Cake는 다른 곳에 모델이 존재하지 않는 한 코어에서 모델을로드합니다. 그런 다음 응용 프로그램 디렉토리에 응용 프로그램 특정 모델이 없으면 모델을 다른 위치에로드합니다.

몇 가지 기본 테스트를 통해 이러한 경우인지 확인할 수 있습니다.

0

구식입니다. 하지만 Linux 컴퓨터에서는 symlink (https://en.wikipedia.org/wiki/Symbolic_link)를 사용하여이 두 응용 프로그램간에 공유해야하는 모델 만 지정할 수 있습니다.

가능한 문제 :
1) 동일 모델 이름
2) 다른 데이터 소스에 대한 안 솔루션 - 당신이 관련된 모든 행동에 대한 응용 프로그램 B
3) 만들기 심볼릭 링크에서도 응용 프로그램 A의 테이블을 사용하고자하는 경우, 클래스

관련 문제