2011-08-03 2 views
0

몇 가지 플러그인이있는 CakePHP 1.3.10에서 기본 앱을 만들고 있습니다. 그 중 하나에서 "수동"으로 채워지는 매우 큰 배열 ($array_test)을 사용해야합니다.CakePHP는 플러그인에 외부 PHP 파일을 포함합니다.

내가 (완벽하게 작동하는) 지금이 방법은 내가, 내가 var $array_test = array(1,2,3,4,5...) 같은 일을하고, (plugin1_home_controller.php 예를 들어)에서 사용하고자하는 플러그인의 컨트롤러의 배열을 선언한다는 것입니다 및 컨트롤러의 뷰에서 완벽하게 액세스 할 수 있습니다.

내가 너무 커서 배열에 어딘가에 선언 된 배열을 선호한다. 그리고 필요할 때로드한다.

은 그래서에서로드 한 후 /app/plugins/plugin1/webroot/php/array_test.php에 넣어, 그 안에 선언 된 배열과 array_test.php 파일을 만들려고하고있어 include "/php/array_test.php"을 사용하여보기 (나는 또한 CakeBook이 플러그인 자산 섹션에서 말한 것처럼 include "/plugin1/php/array_test.php"을 시도했다.) 그러나 그 중 아무 것도 작동하지 않는다.

올바른 경로는 어떻게 얻을 수 있습니까? 아니면 내가하고 싶은 일에 대한 좋은 대안이 있습니까? 미리 감사드립니다.

답변

2

플러그인이 응용 프로그램의 디렉토리 사용중인 경우 :

플러그인 공통 케이크 디렉토리에 설치되어있는 경우
APP_PATH.'plugins'.DS.'plugin1'.DS.'webroot'.DS.'php'.DS.'array_test.php' 

:

CORE_PATH.'plugins'.DS.'plugin1'.DS.'webroot'.DS.'php'.DS.'array_test.php' 
+2

쿨! 그것은 작동합니다! 고맙습니다. 방금 App :: import ('Plugins', 'plugin1.php/array_test.php');를 사용할 수 있다는 것을 알았지 만 배열을 클래스의 속성으로 선언해야합니다. 어떤 방법으로 나아질 수 있습니까? 당신의 방법은 코드가 적어 지는데, 물론 그렇습니다.하지만 Import와 클래스를 사용하면 어떤 이점이 있는지 모르겠습니다 ... – Albert

+1

간단한 include는 오버 헤드가 적습니다. – Daniel

관련 문제