Paprika Framework
Pickles 2 にサーバーサイドアプリケーションを埋め込むためのフレームワーク

Paprikaコンフィグ (config.php)

Paprika Framework の動きを制御する設定項目について説明します。

INDEX

コンフィグのパス

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;
} );
このページの先頭へ戻る