Amazonのアクセスキーやメールサーバホスト等、アプリケーション固有の設定情報(パラメータ)を一元的に記述する方法を考えてみました。
1.core.phpに記述する
[app/config/core.php]にはフレームワークが使用するパラメータが記述されています。これに続いてアプリケーションの設定を記述する方法です。シンプルで分かりやすいですが、フレームワーク自体の設定と一緒になってしまうので、混同しやすいかもしれません。
[app/config/core.php]
1 2 3 4 5 6 7 8 9 | < ?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]
1 2 3 4 5 | < ?php define( 'MAIL_SMTP' , 'mail.example.com' ); define( 'AMAZON_ACCESS_KEY' , 'xxxxxxxxxx' ); define( 'SYSTEM_PARAMETER' , 'yyy' ); ?> |
[app/app_controller.php]
1 2 3 4 5 6 7 8 | < ?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 […]