Paprika Framework の動きを制御する設定項目について説明します。
Paprika Framework の設定ファイルは、ホームディレクトリ内の次のパスに PHPで記述します。
px-files/paprika/config.php
このPHPは、設定情報を格納するオブジェクトを返すように記述してください。
設定項目の中には、サーバーの内部パスを設定する項目がいくつかあり、絶対パス、または相対パスで設定することができます。
相対パスで設定する場合、PHPのカレントディレクトリ = エントリースクリプト .px_execute.php
があるディレクトリを起点として解釈されます。
$conf->realpath_log_dir
ログを出力する先のディレクトリパスを設定します。
// 例:
$conf->realpath_log_dir = __DIR__.'/logs/';
$conf->log_reporting
ここに指定したレベル以上の情報がログファイルに出力されます。
none
, fatal
, error
, warn
, info
, debug
, trace
, all
のいずれかを指定できます。
デフォルトは all
レベルです。
// 例:
$conf->log_reporting = 'warn';
$conf->db
データベースサーバーへの接続情報を設定します。
$paprika->pdo()
は、ここに設定された情報に基づいてデータベースに接続したPDOオブジェクトを返します。
// 例:
$conf->db = (object) array(
'driver' => 'sqlite',
'host' => null,
'port' => null,
'database' => __DIR__.'/_database.sqlite',
'username' => null,
'password' => null,
);
$conf->prepend
コンテンツの処理の前に実行するコールバック関数を設定します。 配列で複数指定できます。配列の先頭から順番に実行されます。
// 例:
$conf->prepend = [
function($paprika){
// プラグイン処理1
},
function($paprika){
// プラグイン処理2
},
];
$conf->extra
プロジェクトが固有に定義する設定を行います。
$conf->extra
内の構造に決まりはなく、個々のプロジェクトのために予約された領域です。
プロジェクトごとに、自由に設計して活用してください。
// 例:
$conf->extra = new stdClass;
$conf->extra->hoge = "fuga";
$conf->extra->hello = "world";
設定ファイルの内容は次のようなPHPコードです。
<?php
/**
* Paprika `config.php`
*/
return call_user_func( function(){
// initialize
/** コンフィグオブジェクト */
$conf = new stdClass;
// ログ関連
/** ログ出力先ディレクトリ */
$conf->realpath_log_dir = __DIR__.'/logs/';
/**
* 出力するログレベル
* ここに指定したレベル以上の情報がログファイルに出力されます。
* none, fatal, error, warn, info, debug, trace, all のいずれかを指定できます。
* デフォルトは all レベルです。
*/
$conf->log_reporting = 'warn';
// Plugins
$conf->prepend = [
function($paprika){
// プラグイン処理1
},
function($paprika){
// プラグイン処理2
},
];
// -------- Project Custom Setting --------
// プロジェクトが固有に定義する設定を行います。
$conf->extra = new stdClass;
return $conf;
} );