アプリケーション設定
まずはじめに
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 にするか削除します。 |
profiling | bool |
|
プロファイラを有効にするかどうか |
profiling_paths | mixed |
|
Array of path-to-string translations, to hide the absolute path, and to shorten the path being displayed (for layout purposes). |
cache_dir | string |
|
キャッシュファイルを保存するディレクトリ。このディレクトリを書き込み可能にする必要があります。 |
caching | bool |
|
キャッシュを有効にするかどうか |
cache_lifetime | int |
|
キャッシュファイルの生存期間を秒単位で指定します。 |
ob_callback | callback |
|
ob_start() に与えられるコールバックで、gzip 圧縮による出力を可能にする ob_gzhandler に設定される。 |
errors | Array, containing the configuration keys to control behaviour when detecting errors: | ||
.continue_on | array |
|
どの PHP エラーが発生したときに実行を続けるか。 エラー処理 を参照してください。 |
.throttle | int |
|
表示を止める前に出力するエラーの数 (out-of-memory エラーを避けます) |
.notices | bool |
|
notice を表示するかどうか |
language | string |
|
アプリケーションのデフォルトの言語。 Lang クラス で使用します。 |
language_fallback | string |
|
This language code will be used when the requested language file doesn't exist in the active language. This should be your main application language. |
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 |
|
サーバのタイムゾーン。 If set to null, the timezone configured in your php.ini file will be used. |
この値を設定する場合、タイムゾーンの設定があなたのWebサーバに設定されているタイムゾーンに一致することを必ずしっかりと確認して下さい。 タイムゾーンの計算はグリニッジ標準時に変換することで動作しているため、タイムゾーンがずれているととんでもなくおかしなことになります。 時間の表示も正しく表示されなかったり、クッキーやセッションが期限切れであると誤って計算されてしまうでしょう。 |
|||
log_threshold | int |
|
ログの閾値。どのレベルのメッセージからログを取るか、またはログを取りたいレベルの配列。 取り得る値について |
log_file | string |
|
The file the log needs to be written to. If not given, a filename will be generated. |
log_path | string |
|
ログを保存するディレクトリ。このディレクトリを書き込み可能にする必要があります。 |
log_date_format | string |
|
ログで使用される date/time の書式。 |
cli_backtrace | bool |
|
If true, a backtrace will be printed when a PHP fatal error is encountered in CLI mode (similar to the html error pages). |
security | Array, containing the configuration keys to control your application security: | ||
.csrf_autoload | bool |
|
csrf トークンを自動的にチェックするかどうか。 csrf についてはこちらを読んでください 。 |
.csrf_autoload_methods | array |
|
List of HTTP methods for which csrf token auto-checking will happen. |
.csrf_bad_request_on_fail | bool |
|
If true, an HttpBadRequestException will be thrown. If false, a SecurityException will be thrown. It is false by default for backward compatibility reasons. |
.csrf_auto_token | bool |
|
If true, a hidden csrf token input field will be automatically added to each form created using Form::open(). |
.csrf_token_key | string |
|
csrf トークンをチェックするときに、取得する $_POST キー。 |
.csrf_expiration | int |
|
csrf クッキーの有効期限を指定。 0 より大きな値はすべて クッキーの有効期限までの秒数です。 |
.csrf_rotate | bool |
|
If true, the CSRF token is always rotated after token validation, no token will be reused. If false, tokens will be reused until they expire, or until Security::set_token(true) is called to manually rotate it. |
.token_salt | string |
|
生成されるトークンを予測しにくくするためのソルト |
.allow_x_headers | bool |
|
"X" headers が存在するときに Input クラスから使用可能にするかどうか。 HTTP_X_FORWARDED_FOR や HTTP_X_FORWARDED_PROTO など。 |
.uri_filter | array |
|
What php callables to use to filter the URI. |
.input_filter | array |
|
What php callables to use to filter the input arrays ($_GET, $_POST and $_COOKIE). Can be set to xss_clean, but this may cause a performance hit based on the size of the input. |
.output_filter | array |
|
What php callables to use to filter the variables set onto a view. Can be set to xss_clean, but this may cause a performance hit based on the size of the variables. |
.htmlentities_flags | integer |
|
Whether to automatically encode (htmlentities) view data. |
.htmlentities_double_encode | bool |
|
Whether or not to encode HTML entities as well. |
.auto_filter_output | bool |
|
自動的にデータをエンコード (htmlentities) するかどうか |
.filter_closures | bool |
|
If true, closures passed onto Views will be executed, and their return value will be filtered and passed on to the View. If false, the closure itself will be passed to the view. |
.whitelisted_classes | array |
|
出力エンコーディングがオンになった場合、この配列の中のクラスのインスタンスでない限り、 渡された全てのオブジェクトが文字列に変換されるか、例外をスローします。 |
.form-double-urlencoded | bool |
|
Set this to true of your client sends data using the HTTP PUT, DELETE or PATCH methods using the www-form-urlencoded content-type, and it's contents is urlencoded locally before submitting. |
.clean_paths | mixed |
|
Array of path-to-string translations, to hide the absolute path, and to shorten the path being displayed in any output. Note that for security reasons, APPPATH, COREPATH, PKGPATH, and DOCROOT will always be translated. |
cookie | Array, containing the configuration keys to define the global cookie settings: | ||
.expiration | int |
|
クッキーが期限切れになるまでの秒数 |
.path | string |
|
クッキーが有効なパスを制限する |
.domain | string |
|
クッキーが有効なドメインを制限する |
.secure | bool |
|
セキュアな接続でのみクッキーを送信する |
.http_only | bool |
|
Javascript 接続を無効にし、 HTTP だけでクッキーを送信する |
validation | Array, containing the configuration keys to control validation behaviour : | ||
.global_input_fallback | bool |
|
Whether to fallback to global inout data when a value is not found in the input array passed to validation. |
controller_prefix | string |
|
The class prefix used to find controllers when mapping the URI to the controller class name. You have to change this if you want your controllers namespaced or in a different folder then app/classes/controller. |
routing | Array, containing the configuration keys to control routing behaviour : | ||
.case_sensitive | bool |
|
Whether URI routing is case-sensitive or not. If true, "/THIS" and "/this" are different routes. |
.strip_extension | mixed |
|
If false, nothing will be stripped. If true, all extensions will be stripped. If an array, it should contain a list of extensions (including the leading DOT!) that needs to be stripped. |
.module_routes | bool |
|
When true, the modules routes config file is loaded and added to the global routing table when you load the module. |
response | Array, containing the configuration keys to control response behaviour : | ||
.redirect_with_wildcards | bool |
|
If true, you can use the "*" as a segement wildcard when redirecting. These segments will then be filled in from the original request URI. So a redirect on "admin/user/edit" to "*/*/view" will redirect to "admin/user/view". |
config | Array, containing the configuration keys to control the configuration environment : | ||
.database | string |
|
The database that stores your configuration data table, if you have opted to use the database as you configuration data backend. | .table_name | string |
|
The table that stores your configuration data, if you have opted to use the database as you configuration data backend. |
.memcached | array |
|
Memcached configuration, if you have opted to use a memcached store as you configuration data backend. |
lang | Array, containing the configuration keys to control the language environment : | ||
.database | string |
|
The database that stores your translation data table, if you have opted to use the database as you translation data backend. | .table_name | string |
|
The table that stores your translation data, if you have opted to use the database as you translation data backend. |
module_paths | array |
|
モジュールのディレクトリへのパス。場所を指定せずにモジュールを追加するときに使われます。 |
package_paths | array |
|
Paths to package directories. Used when adding a package without specifying the location. |
always_load | Array, containing the items the framework has to load when it initializes: | ||
.packages | array |
|
どのパッケージをオートロードするか。 array('package') あるいは array('package' => PKGPATH.'path/to/package') のように指定します。これが動作するためには、パッケージのパスが package_paths で設定されていなければなりません。 |
.modules | array |
|
どのモジュールをオートロードするか。次のように指定します: array('package') オートロードされたモジュールは URL を通してアクセスできます。モジュールパスを動作させるには module_paths をセットする必要があります。 |
.classes | array |
|
どのクラスをオートロードし、初期化するか。 パッケージやモジュールからクラスをオートロードする場合は、必ずそれもオートロードするようにしましょう。 |
.config | array |
|
どの設定ファイルをオートロードするか。次のように設定ファイルを group にロードします: array('config') または array('filename' => 'group')。ファイルをセットでロードしたくない場合は、グループ名を null にします: array('filename' => null)。 |
.language | array |
|
どの言語ファイルをオートロードするか。次のように設定ファイルを group にロードします: array('lang') または array('filename' => 'group')。ファイルをロードしたくない場合は、グループ名を null にします: array('filename' => null)。 |
Config クラスを使うと、設定ファイルや設定とのやりとりができます。 設定ファイルは oil を使って生成することができます。