Codeigniter 4의 단일 설치로 공유 사이트에서 여러 응용 프로그램 모델 호출
P粉653045807
P粉653045807 2023-08-31 22:44:08
0
2
521
<p>Codeigniter 4를 한 번 설치하여 다른 다중 응용 프로그램 사이트의 모델을 호출하는 방법은 무엇입니까? </p> <p>폴더 구조는 다음과 같습니다. </p> <pre class="brush:php;toolbar:false;">- 웹사이트 폴더 --사이트1 --- 앱 --- 공공의 --- 테스트 --- 쓰기 가능 (.env, 스파크 및 기타 파일) --사이트2 --- 앱 ---공공의 --- 테스트 --- 쓰기 가능 (.env, 스파크 및 기타 파일) -- 시스템</pre> <p>제 샘플 코드는 다음과 같습니다. </p> <p><strong>사이트 1</strong></p> <시간 /> <p><strong>Constants.php</strong> site2를 찾기 위해 루트 디렉터리를 정의했습니다. </p> <pre class="brush:php;toolbar:false;">define('ROOTSOURCE', dirname(__DIR__,3) . 'site2');</pre> <p>이 결과는 다음과 같습니다. </p> <p><em>E:Projectwebsitesite2</em></p> <p><strong>Autoload.php</strong></p> <p>PSR4를 설정했습니다. </p> <pre class="brush:php;toolbar:false;">공개 $psr4 = [ APP_NAMESPACE => APPPATH, // 맞춤형 앱 네임스페이스용 '구성' => '구성', 'SourceModels' => ROOTSOURCE '/app/Models/' ];</pre> <p>그런 다음 SPARK 명령을 실행합니다: </p> <pre class="brush:php;toolbar:false;">php 스파크 네임스페이스</pre> <p>그리고 반품</p> <pre class="brush:php;toolbar:false;">+------+--------------- --- ---------------------------------- --- ----------+---------+ | 네임스페이스 | +------+---------------- ---- -------------------- ---- ------+---------+ CodeIgniter | E:ProjectDennisLiu웹사이트시스템 | 앱 | E:ProjectDennisLiuwebsitesite1app | 구성 | E:ProjectDennisLiuwebsitesite1app구성 | 소스 모델 | E:ProjectDennisLiuwebsitesite2appModels | +------+------------------ ---- -------------------- ---- -----+---------+</pre> <p>그런 다음 네임스페이스 <strong>SourceModels</strong>를 찾으세요. 여태까지는 그런대로 잘됐다.</p> <p>컨트롤러=> <strong>Home.php</strong></p> <pre class="brush:php;toolbar:false;">네임스페이스 AppControllers; SourceModel을 사용합니다. 클래스 홈은 BaseController를 확장합니다. { 공개 함수 인덱스() { $setting = 새로운 SourceModelsSetting(); return view('welcome_message'); }</pre> <p>컨트롤러를 실행하면 다음과 같은 결과가 나타납니다. </p> <인용문> <p><strong>'SourceModelsSetting' 클래스를 찾을 수 없습니다</strong></p> </인용문> <p>다음 단계</p> <p><strong>사이트 2</strong></p> <p>Site2 모델 폴더에 <strong>설정</strong> 모델이 있습니다. </p> <p><strong>참고: </strong></p> <p>사이트 2에서는 모든 것이 잘 작동합니다. </p> <p>제 질문은 "클래스 <strong>'SourceModelsSetting'을 찾을 수 없습니다"라는 오류입니다.</strong>codeigniter 4의 단일 앱 설치에서 사이트 2 모델을 호출하기 위한 올바른 설정은 무엇입니까? . < <p><strong>참고: </strong> 이는 두 웹사이트 모두에 대한 codeigniter 4의 단일 설치입니다. 시스템 폴더를 공유했습니다. </p>
P粉653045807
P粉653045807

모든 응답(2)
P粉493534105

새 인스턴스를 생성하거나 model() 도우미 함수를 사용하여 클래스의 모델에 액세스할 수 있습니다.

이런 예

으아악
P粉722409996

문제를 발견했습니다. 이것이 올바른 방법입니다.

폴더 구조

으아악

컨트롤러 - Home.php

으아악

Autoload.php

으아악

Constants.php

으아악

DBSetting.php

네임스페이스 공유 모델; CodeIgniterModel을 사용하세요

클래스 DBSetting 확장 모델{

으아악

}

사이트 2에서 모델을 호출할 수도 있습니다. 사이트 2의 모델을 참조하려면 Autoload.php에서 올바른 경로를 설정하기만 하면 됩니다.

참고: 사이트 2의 모델에 다른 모델이나 링크가 포함되어 있는 경우 사이트 1에서 호출하면 코드이그나이터 4 시스템은 사이트 1의 링크인 모델을 읽습니다. 따라서 사이트 2에서 일반 모델을 호출해야 합니다. 아니면 위와 같이 공유 모델 폴더를 생성하세요.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿