CakePHP의 bootstrap.php에서 데이터베이스에 액세스합니다
-
19-09-2019 - |
문제
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
) 생성자.
제휴하지 않습니다 StackOverflow