2017-03-28 2 views
2

CakePHP의 3 난이 개 하위 디렉토리, webroot/data/downloads/ 나는 사용자 정의 구성 파일에서 이러한 경로를 넣고 컨트롤러에서 그들을 참조 할 webroot/data/master사용자 정의 구성 파일

를 생성 한 CakePHP의 3.3.14 응용 프로그램이 있습니다. 그러나 나는 이것을하는 방법을 볼 수 없다.

나는 documentation on Configuration을 따라 갔지만 아직 명확하지 않습니다.

내가했던 그래서 : 내가 넣었습니다 에서

return [ 'downloadsPath' => 'webroot/data/downloads/', 'masterPath' => 'webroot/data/master/' ]; 
  • : Configure::load('my_config', 'default');

    • config/my_config.php
    • 위의 파일을 만든 배열을 정의

      어떻게 이것을 컨트롤러에서 사용할 수 있습니까? 나는 오류하지만 반환 값이 null입니다 웁니다 내 컨트롤러의 상단에 use Cake\Core\Configure;을 추가하는 경우 클래스 '앱 \ 컨트롤러 \ 구성은'

      찾을 수 없습니다 : 나는 Configure::read('my_config.masterPath');를 넣어 경우가 없다는 오류를 제공

      debug(Configure::read('my_config.masterPath')); // null 
      
    +0

    정확히 무엇 :

    // my_config.php return [ 'MyConfig' => [ 'masterPath' => '...', ... ] ] 

    는 다음과 같이 설정을 사용 예제가 포함 된이 섹션에 대해 명확하지 않은가? https://book.cakephp.org/3.0/en/development/configuration.html#loading-configuration-files – burzum

    +0

    글쎄, 내가 실제로 쓴 부분을 위에서 언급 한 내용으로 참조한다면, 내 생각에 잘못 될거야. 그것이 내가 질문을 게시 한 이유입니다 ... – Andy

    +1

    당신의 읽기 통화가 단순히 잘못되었습니다. ''my_config.masterPath '''파일 이름을 앞에 두어야한다는 생각이 들었습니다. 'masterPath'가 작동합니다. – burzum

    답변

    4

    다른 구성 파일을로드하면 기본값 App.config이 확장됩니다. 그러므로 \Cake\Core\Configure::read('masterPath')을 사용하면 좋습니다. 그것은 다른 설정 경로를 가지고 당신의 목표 인 경우

    편집

    이처럼 할 수있는 :

    <?= \Cake\Core\Configure::read('MyConfig.masterPath') ?>