한 모듈에서 다른 모듈의 설치 여부를 알 수 있는 코드가 있을까요?
다른 모듈과 연계를 하기 위해서 코드를 짜는 중인데, test 모듈이 없을때 getModel('test')->test() 이런식으로 호출하면 당연히도(?) 오류가 나더군요
if(getModel('test') == NULL) 로도 시도해 봤지만 제 의도대로 작동하지 않더군요;
어떤식으로 해야 모듈의 설치 여부를 알 수 있을까요?
PHP | PHP 7.2 |
---|---|
CMS | Rhymix |
한 모듈에서 다른 모듈의 설치 여부를 알 수 있는 코드가 있을까요?
다른 모듈과 연계를 하기 위해서 코드를 짜는 중인데, test 모듈이 없을때 getModel('test')->test() 이런식으로 호출하면 당연히도(?) 오류가 나더군요
if(getModel('test') == NULL) 로도 시도해 봤지만 제 의도대로 작동하지 않더군요;
어떤식으로 해야 모듈의 설치 여부를 알 수 있을까요?
애초에 따로 경로 고려를 해 주어야 하나요..?
어차피 실행 경로는 index.php 파일이 있는 위치이니, ./modules/name/name.class.php 로 사용하면 되는게 아닌지요..?
아니면 큰일인데요...ㅠ
if(getModel('test') == NULL) 이것으로 될 텐데요?
getModel('document') → 오브젝트 반환
getModel('comment') → 오브젝트 반환
getModel('jgsdvfsiyhfhf') → NULL 반환
물론 addon 모듈처럼 Model 클래스를 정의하지 않는 경우도 있으니
getModel보다는 getClass로 체크하는 것이 더 확실하지만,
실제로 사용하실 것이 Model 클래스라면 그걸 직접 확인한다고 문제가 되지는 않습니다.
if(getClass('test') === NULL) {
// 모듈 설치 안되어 있음
}
라이믹스나 비교적 최근 버전의 XE라면 클래스 오토로딩이 적용되어 있으니
그냥 if(class_exists('TestModel')) 로 체크하는 방법도 있고요.