Amazonのアクセスキーやメールサーバホスト等、アプリケーション固有の設定情報(パラメータ)を一元的に記述する方法を考えてみました。
1.core.phpに記述する
[app/config/core.php]にはフレームワークが使用するパラメータが記述されています。これに続いてアプリケーションの設定を記述する方法です。シンプルで分かりやすいですが、フレームワーク自体の設定と一緒になってしまうので、混同しやすいかもしれません。
[app/config/core.php]
< ?php #snip /** * application config */ define('MAIL_SMTP', 'mail.example.com'); define('AMAZON_ACCESS_KEY', 'xxxxxxxxxx'); define('SYSTEM_PARAMETER', 'yyy'); ?>
2.アプリケーション用の設定ファイルに記述する
アプリケーション用の設定は[app/config/app.php]に記述してAppControllerで読み込む方法です。これならフレームワークの設定とは切り離せますし、各controllerでは設定ファイルを意識する事なくパラメータを使用できます。
[app/config/app.php]
< ?php define('MAIL_SMTP', 'mail.example.com'); define('AMAZON_ACCESS_KEY', 'xxxxxxxxxx'); define('SYSTEM_PARAMETER', 'yyy'); ?>
[app/app_controller.php]
< ?php #snip config('app'); #snip class AppController extends Controller { } ?>
今回は設定値をPHPの定数で定義する方法を取りました。定数はどこからでも透過的にアクセスできるので扱いが楽ですね。ただ設定値をアプリケーションで変更できないですし、もし開発者以外が設定を触るならiniファイル形式の方が良いかもしれません。いずれこちらの方法も考えてみたいと思います。
- Newer: Syntax Highlighter for Windows Live Writerを試す
- Older: Yahoo!スポーツ に注意
トラックバック:2
- このエントリーのトラックバックURL
- /blog/2006/09/cakephp_config.html/trackback
- Listed below are links to weblogs that reference
- CakePHP アプリケーションの設定情報をまとめる from Shin x blog
- pingback from 【CakePHP】独自の定数の書き方 | ねねとまつの小部屋 08-01-18 (金) 16:16
-
[…] shin x blogさんのCakePHP アプリケーションの設定情報をまとめる […]
- pingback from ログイン画面のセキュリティを考える(CakePHP修行 #020) - IDEA*IDEA ~ 百式管理人のライフハックブログ 09-08-04 (火) 14:50
-
[…] » CakePHP アプリケーションの設定情報をまとめる | Shin x blog […]