2

CakePHP を使用して bootstrap.php ファイル内のデータベースにアクセスする標準的な方法はありますか?

具体的には、「putenv()」をデータベースに保存されているタイムゾーンに設定したいと考えています。代わりに使用する必要がある同じことを達成する別の方法はありますか?

ありがとう。

4

1 に答える 1

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) コンストラクターを呼び出すため、何も変更する必要はありません。

于 2009-07-27T09:12:52.677 に答える