[Maple-dev: 176] 設定ファイルの整理

アーカイブの一覧に戻る

Hawk schol****@hawkl*****
2006年 7月 30日 (日) 21:34:12 JST


Hawkです。

現在のmaple.inc.phpには不要な定数が多すぎると思うので、
設定ファイル化を機に、整理したいと思います。
(http://blog.hawklab.jp/item-80.htmlなど参照)

以下に、maple.inc.phpおよびentry.php内に存在する全ての定数について
分類を行いました。

「Maple本体側に移すべき」とコメントしたものは、
Maple本体側の設定ファイル(仮名:maple/config/common.php)で設定して、
全てのwebappで共通の値を用いるべきと考えられる定数です。
その他、「コードベースの設定用インターフェースを用意すべき」
「そもそも不要」といった風に分類してあります。

検証をお願いします。

===
CONFIG_FILE = "maple.ini"
変更することはまず無い。
Maple本体側に移すべき。

===
VALIDATE_ERROR_TYPE = input
TOKEN_ERROR_TYPE    = invalidToken
UPLOAD_ERROR_TYPE   = upload
変更する意味はほとんど無い。
各Filterのファイル内に移動させるべき。

===
LEVEL_FATAL = 6
LEVEL_ERROR = 5
LEVEL_WARN  = 4
LEVEL_INFO  = 3
LEVEL_DEBUG = 2
LEVEL_TRACE = 1
変更する意味はない。
Maple本体側に移すべき。

===
INPUT_CODE    = "EUC-JP"
CONFIG_CODE   = "EUC-JP"
TEMPLATE_CODE = "EUC-JP"
INTERNAL_CODE = "EUC-JP"
OUTPUT_CODE   = "EUC-JP"
SCRIPT_CODE   = "EUC-JP"
何とか減らしたいが……。

===
SKELETON_CODE = "EUC-JP"
"generator"というアプリケーション固有の設定であり、
そもそもwebapp内には必要ない。

===
DEFAULT_TEMPLATE = simple
generatorのための設定であり、定数化する必要はない。
generator.defaultView あたりの名称に変更すべき。

===
MAPLE_SMARTY_DIR      = "Smarty/"
旧SMARTY_DIR。廃止予定。
[Maple-dev: 170] Re: Smartyについて

===
SMARTY_CACHING        = false
SMARTY_CACHE_LIFETIME = 3600
SMARTY_COMPILE_CHECK  = false
SMARTY_FORCE_COMPILE  = true
SMARTY_DEFAULT_MODIFIERS = "escape:html"
コードベースの設定用インターフェースを用意すべき。
例えば
Smarty4Maple::globalOptions(array(
	'caching' => false,
	'force_compile' => true,
	'default_modifiers' => array('escape:html')
));


===
FILTER_DIR    =  "/filter"
CONVERTER_DIR =  "/converter"
VALIDATOR_DIR =  "/validator"
LOGGER_DIR    =  "/logger"
事実上変更不可能なディレクトリ。
Maple本体側に移すべき。

===
BASE_INI      =  "/config/base.ini"
変更する意味はほとんど無い。
Maple本体側に移して、読み込み時に
無条件にWEBAPP_DIRからの相対パスと見なせば良いと思われる。

===
PATH_SEPARATOR = : or ;
webappに対して不変。
Maple本体側に移すべき。

===
TEMPLATE_DIR =  "/templates/"
SMARTY_TEMPLATE_DIR =  "/templates/"
SMARTY_COMPILE_DIR  =  "/templates_c/"
SMARTY_CONFIG_DIR   =  "/config/"
SMARTY_CACHE_DIR    =  "/cache/"
FLEXY_TEMPLATE_DIR = "/templates/"
FLEXY_COMPILE_DIR  = "/templates_c/"

同時に複数のテンプレートエンジンを使うことは滅多にないと思うので、
一つにまとめてしまっても良いと思う。
例えば

VIEW_TEMPLATE_DIR =  "/templates/"
VIEW_COMPILE_DIR  =  "/templates_c/"
VIEW_CONFIG_DIR   =  "/config/"
VIEW_CACHE_DIR    =  "/cache/"

のように。
ただ、同時に使用することも無いとは言い切れないので、
コードベースの設定用インターフェースを通して
個別に設定できるようにしておく。

===
残り。webapp内の設定ファイルに残して良いと思うもの。

[global-config]
DEBUG_MODE  = true
MAPLE_DIR   = maple
ACTION_KEY  = action
DEFAULT_LOGGER = simpleFile

[BASE_DIR]
DOCUMENT_ROOT = "/htdocs"

[WEBAPP_DIR]
MODULE_DIR    =  "/modules"
LOG_DIR       =  "/logs"
COMPONENT_DIR =  "/components"

===
entry.php内。

define('DEFAULT_ACTION', 'foo_bar_zoo');
define('LOG_LEVEL',      LEVEL_TRACE);

LOG_LEVELは設定ファイルに移しても良いと思う。


-- 
Hawk : {
  web site : http://blog.hawklab.jp/
}



Maple-dev メーリングリストの案内
アーカイブの一覧に戻る