2009-07-27 4 views
2

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

은 특히 나는 데이터베이스에 저장된 시간대에 "putenv()를"로 설정합니다. 대신에 사용해야하는 것과 동일한 것을 성취 할 수있는 또 다른 방법이 있습니까?

감사합니다.

+0

나는 database.php가 더 유용 할 것이라고 생각합니다. 내장 된 옵션이 아닌, 조직을위한 것일 수도 있습니다. – helloandre

답변

2

부트 스트랩에서 데이터베이스에 액세스하는 것이 좋지 않다고 생각합니다. 아직 초기화되지 않았으므로 모델을 사용할 수 없습니다. 난 당신이 연결 데이터를 추출하고 연결을 초기화하고 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) 생성자를 호출하기 때문에 당신은 당신도 아무 것도 변경하지 않아도됩니다 확장 클래스의 생성자를 선언하지 않는 경우.

+0

답변 해 주셔서 감사합니다. 훌륭하게 작동합니다. –

관련 문제