maple-3.2を試してみる


hawklab.jp

pearコマンドを使わずに普通にDLしてみた。


pearディレクトリに入っていないので

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の既存のコンポーネントを色々使える。

って考えてたんだけども、コアの書き換えは簡単にはいかないのかな。