アプリケーション設定
まずはじめに
FuelPHP フレームワークは規約より設定を重視して設計されています。そのため、高いカスタマイズ性を持つ 基盤の上にアプリケーションを構築することができます。
設定ファイルは app/config フォルダ内にあります。アプリケーションの基本設定は app/config/config.php で設定されています。読み込まれた設定は環境を指定することができます。 詳細は 環境 を見てください。
特定の設定ファイルが提供する設定内容を上書きするには、app/config 内に新しいファイルを作成するか、 対応するファイルを core/config から app/config にコピーして下さい。
設定オプション
アプリケーションのファイル app/config/config.php に基いて定義される設定項目があります。 FuelPHP をインストールした時点では、このファイルは空の状態です。 以下に定義されているように、全てのデフォルト値は core/config フォルダ内の対応するファイルにより定義されています。 デフォルトの値をオーバーライドしたい場合、app の config ファイル内の配列にキーを追加して値を修正して下さい。 または、app のファイルにコアファイルから部分をコピーしてきて修正することもできます。
FuelPHP は配列を処理する際に"ドット記法"を使っています。これは、多次元配列の要素にアクセスするのに便利な方法です。 この記法はドキュメンテーションにも用いられており、配列への参照をタイプするのを容易にしています。例えば:
// "always_load.packages = array()" とある場合、これは以下の略記となります:
array("always_load" => array("packages" => array(...) ) );
キー | 型 | デフォルト | 説明 |
---|---|---|---|
base_url | string |
|
アプリケーションのベース URL。相対指定することもできます。末尾は必ずスラッシュにする必要があります。('/foo/', 'http://example.com/') |
url_suffix | string |
|
Fuel によって生成される URL に追加するサフィックス。 サフィックスが拡張子の場合、ドットを含める必要があります。 ('.html') |
index_file | string |
|
メインブートストラップファイル名です。mod_rewirte を使用する場合は、これを false にするか削除します。 |
controller_prefix | string |
|
URIをコントローラのクラス名にマッピングする際にコントローラを見つけるのに仕様されるクラスのプレフィックス。 コントローラを名前空間に置きたい、または app/classes/controller とは別の場所に置きたい場合に、 この値を変更する必要があります。 |
profiling | bool |
|
プロファイラを有効にするかどうか |
cache_dir | string |
|
キャッシュファイルを保存するディレクトリ。このディレクトリを書き込み可能にする必要があります。 |
caching | bool |
|
キャッシュを有効にするかどうか |
cache_lifetime | int |
|
キャッシュファイルの生存期間を秒単位で指定します。 |
ob_callback | callback |
|
ob_start() に与えられるコールバックで、gzip 圧縮による出力を可能にする ob_gzhandler に設定される。 |
errors | array | エラーが検出された際の挙動を決める設定キーを格納する配列: | |
errors.continue_on | array |
|
どの PHP エラーが発生したときに実行を続けるか。エラー処理を参照する. |
errors.throttle | int |
|
表示を止める前に出力するエラーの数 (out-of-memory エラーを避けます) |
errors.notices | bool |
|
notice を表示するかどうか |
language | string |
|
アプリケーションのデフォルトの言語。 Lang クラス で使用します。 |
locale | string |
|
PHP のインストールで必要な setlocale() を使用する場合、セットしている設定を禁止するために
false をセットします。 この構文設定は OS 毎に異なります。例えば、Ubuntu は .utf8 (エンコーディング) サフィックスが必要です。 |
encoding | string |
|
アプリケーションのデフォルトの文字エンコード |
server_gmt_offset | int |
|
time() を使用する際に、サーバの gmt タイムスタンプのオフセットからのオフセット秒数 これは、不適切なサーバ設定を訂正するためのみの設定です: time() は絶えず 1970年1月1日 00:00:00 GMT からの秒数を返すべきです。 |
default_timezone | string |
|
サーバのタイムゾーン。 |
この値を設定する場合、タイムゾーンの設定があなたのWebサーバに設定されているタイムゾーンに一致することを必ずしっかりと確認して下さい。 タイムゾーンの計算はグリニッジ標準時に変換することで動作しているため、タイムゾーンがずれているととんでもなくおかしなことになります。 時間の表示も正しく表示されなかったり、クッキーやセッションが期限切れであると誤って計算されてしまうでしょう。 |
|||
log_threshold | int |
|
ログの閾値。どのレベルのメッセージからログを取るか、またはログを取りたいレベルの配列。 取り得る値について |
log_path | string |
|
ログを保存するディレクトリ。このディレクトリを書き込み可能にする必要があります。 |
log_date_format | string |
|
date/time のフォーマットがログで仕様されます。 |
security | array | アプリケーションのセキュリティを操作する設定キーを格納する配列: | |
security.csrf_autoload | bool |
|
csrf トークンを自動的にチェックするかどうか。csrf についてはこちらをみてください。. |
security.csrf_token_key | string |
|
csrf トークンをチェックするときに、取得する $_POST キー。 |
security.csrf_expiration | int |
|
csrf クッキーの有効期限を指定。0より大きな値はすべて クッキーの有効期限までの秒数です。 |
security.token_salt | string |
|
A salt to make sure the generated security tokens are not predictable. |
security.allow_x_headers | bool |
|
Allow the Input class to use "X" headers when present, such as HTTP_X_FORWARDED_FOR or HTTP_X_FORWARDED_PROTO. |
security.uri_filter | array |
|
URI をフィルタする PHP 関数 |
security.input_filter | array |
|
入力の配列 ($_GET, $_POST, $_COOKIE) をフィルタする PHP 関数。xxs_clean をセットできます。 これは入力のサイズに応じてパフォーマンスが犠牲になります。 |
security.output_filter | array |
|
ビューにセットする変数をフィルタする PHP 関数。xxs_clean をセットすることもできますが、 変数のサイズによりパフォーマンスに打撃を与える可能性があります。 |
security.auto_filter_output | bool |
|
自動的にデータをエンコード (htmlentities) するかどうか |
security.whitelisted_classes | array() |
|
出力エンコーディングがオンになった場合、この配列の中のクラスのインスタンスでない限り、 渡された全てのオブジェクトが文字列に変換されるか、例外をスローします。 |
cookie | array | グローバルなクッキーの設定を定義する設定キーを格納する配列: | |
cookie.expiration | int |
|
クッキーが期限切れになるまでの秒数 |
cookie.path | string |
|
クッキーが有効なパスを制限する |
cookie.domain | string |
|
クッキーが有効なドメインを制限する |
cookie.secure | bool |
|
セキュアな接続でのみクッキーを送信する |
cookie.http_only | bool |
|
Javascript 接続を無効にし、HTTP だけでクッキーを送信する |
module_paths | array |
|
モジュールのディレクトリへのパス。場所を指定せずにモジュールを追加するときに使われます。 |
always_load | array | 初期化時にフレームワークが読み込まなければならないアイテムを格納する配列: | |
always_load.packages | array |
|
どのパッケージをオートロードするか。array('package') あるいは array('package' => PKGPATH.'path/to/package') のように指定します。これが動作するためには、パッケージのパスが package_paths で設定されていなければなりません。 |
always_load.modules | array |
|
どのモジュールをオートロードするか。次のように指定します: array('package') オートロードされたモジュールは URL を通してアクセスできます。モジュールパスを動作させるには module_paths をセットする必要があります。 |
always_load.classes | array |
|
どのクラスをオートロードし、初期化するか。 パッケージやモジュールからクラスをオートロードする場合は、必ずそれもオートロードするようにしましょう。 |
always_load.config | array |
|
どの設定ファイルをオートロードするか。次のように設定ファイルを group にロードします: array('config') または array('filename' => 'group')。ファイルをセットでロードしたくない場合は、グループ名を null にします: array('filename' => null)。 |
always_load.language | array |
|
どの言語ファイルをオートロードするか。次のように設定ファイルを group にロードします: array('lang') または array('filename' => 'group')。ファイルをロードしたくない場合は、グループ名を null にします: array('filename' => null)。 |
Config クラスを使うと、設定ファイルや設定とのやりとりができます。 設定ファイルは oil を使って生成することができます。