iPhone/iPadのホーム画面コンテスト開催中!賞品は iTunes カード!

CakePHP & PHP 2006/09/12 23:32

CakePHP アプリケーションの設定情報をまとめる

Amazonのアクセスキーやメールサーバホスト等、アプリケーション固有の設定情報(パラメータ)を一元的に記述する方法を考えてみました。

1.core.phpに記述する

[app/config/core.php]にはフレームワークが使用するパラメータが記述されています。これに続いてアプリケーションの設定を記述する方法です。シンプルで分かりやすいですが、フレームワーク自体の設定と一緒になってしまうので、混同しやすいかもしれません。

[app/config/core.php]

PHP:
  1. <?php
  2. #snip
  3. /**
  4. * application config
  5. */
  6. define('MAIL_SMTP', 'mail.example.com');
  7. define('AMAZON_ACCESS_KEY', 'xxxxxxxxxx');
  8. define('SYSTEM_PARAMETER', 'yyy');
  9. ?>

2.アプリケーション用の設定ファイルに記述する

アプリケーション用の設定は[app/config/app.php]に記述してAppControllerで読み込む方法です。これならフレームワークの設定とは切り離せますし、各controllerでは設定ファイルを意識する事なくパラメータを使用できます。

[app/config/app.php]

PHP:
  1. <?php
  2. define('MAIL_SMTP', 'mail.example.com');
  3. define('AMAZON_ACCESS_KEY', 'xxxxxxxxxx');
  4. define('SYSTEM_PARAMETER', 'yyy');
  5. ?>

[app/app_controller.php]

PHP:
  1. <?php
  2. #snip
  3. config('app');
  4. #snip
  5. class AppController extends Controller
  6. {
  7. }
  8. ?>

今回は設定値をPHPの定数で定義する方法を取りました。定数はどこからでも透過的にアクセスできるので扱いが楽ですね。ただ設定値をアプリケーションで変更できないですし、もし開発者以外が設定を触るならiniファイル形式の方が良いかもしれません。いずれこちらの方法も考えてみたいと思います。



■Related Posts

  • No related posts

2 Responses to “CakePHP アプリケーションの設定情報をまとめる”

  1. on 18 1月 2008 at 16:16 1.【CakePHP】独自の定数の書き方 | ねねとまつの小部屋 said …

    [...] shin x blogさんのCakePHP アプリケーションの設定情報をまとめる [...]

  2. on 04 8月 2009 at 14:50 2.ログイン画面のセキュリティを考える(CakePHP修行 #020) - IDEA*IDEA ~ 百式管理人のライフハックブログ said …

    [...] » CakePHP アプリケーションの設定情報をまとめる | Shin x blog [...]

Trackback This Post | Subscribe to the comments through RSS Feed

Leave a Reply