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

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

この記事の所要時間: 22

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ファイル形式の方が良いかもしれません。いずれこちらの方法も考えてみたいと思います。

Pocket

follow us in feedly

トラックバック:2

このエントリーのトラックバックURL
http://www.1x1.jp/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 […]

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

検索
フィード
メタ情報

Return to page top