maple-3.2を試してみる
pearコマンドを使わずに普通にDLしてみた。
php -d include_path=`pwd`/Maple-3.2.0a1 Maple-3.2.0a1/maple/generate/script/generate.php webapp
のようにする。
また、htdocs/index.phpに
ini_set('include_path', '../Maple-3.2.0a1');
を追加する。
おぉぉーさっくり動く。
でcomponents/core/ConfigUtils.class.phpを作って、動かしてみる。
<?php require_once '../Maple-3.2.0a1/maple/core/ConfigUtils.class.php'; class ConfigUtilsEx extends ConfigUtils { ... } ?>
webapp/configs/base.iniのクラス名をConfigUtilsExに変更する。
execute()は成功するけど_getConfig()のオーバーライドが失敗する。
そもそもprivateな関数なんだけど・・protectedが見つからないからこういう使い方を想定してないんだろうか。
・・・それで結構ハマってたんだけど、ソースを見たら
function execute() { ... ConfigUtils::_getConfig($curPath); ... }
となってた。そりゃだめだわ。
grepしてみると、::演算子が多い。
逆に$this->を使ってるのは get*() 関数のみっぽい。
いや、でも BeanUtils::getGetterVars()とかあるしなぁ。
何か意図があるんだろうか。。
mapleのコアを自由に変えれるようになったら、もしかすると自分のフレームワークの動作と全く同じものをmapleで実装できるかもしれない。
そうするとmapleの既存のコンポーネントを色々使える。
って考えてたんだけども、コアの書き換えは簡単にはいかないのかな。