문제

CakePHP로 bootstrap.php 파일에서 데이터베이스에 액세스하는 표준 방법이 있습니까?

구체적으로 "putenv ()"를 데이터베이스에 저장된 시간대로 설정하고 싶습니다. 대신 사용해야하는 것과 같은 것을 달성하는 또 다른 방법이 있습니까?

감사.

도움이 되었습니까?

해결책

부트 스트랩에서 데이터베이스에 액세스하는 것이 좋은 생각이라고 생각하지 않습니다. 모델은 아직 초기화되지 않았기 때문에 사용할 수 없습니다. 연결 데이터를 추출하고 PHP를 사용하여 연결 및 실행 쿼리를 초기화 할 수 있다고 생각합니다. mysql_* 그러나 그것은 추악한 것입니다.

그러나 앱에 액세스 할 때마다 특정 작업을 실행 해야하는 경우에 배치하는 것이 좋습니다. AppController 생성자 (__construct 기능).

class AppController extends Controller {
    public function __construct() {
        // do your magic here

        // call parent constructor
        parent :: __constructor();
    }
}

class YourSpecificController extends AppController {
    public function __construct() {
         // call parent contructor (this) will cause your magic happen
         parent :: __constructor();

         // extra controller initialization instructions
    }
}

클래스를 연장 할 때 생성자를 선언하지 않으면 PHP가 자동으로 부모를 호출하기 때문에 아무것도 변경하지 않아도됩니다 (AppController) 생성자.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top