【PHPフレームワーク】Ethna【スケルトン自動作成】
■ このスレッドは過去ログ倉庫に格納されています
0898nobodyさん
2007/06/01(金) 22:56:49ID:???>>866
を参考にしてActionForm内にmethodを書いてリストを取得していたんですが、同じような処理が多くなってきたのでAppManagerを呼び出して取って来る方式にしました。
ところが、ActionForm内のmethodとして記述していた場合は最後に
return array(0=>'a',1=>'b',...);
と言う配列を帰していれば良かったんですが、AppManagerで同様にやろうと思いgetAttrList()にmethodの中身をコピペして使用すると上手く動きません。
で、ViewClassのコードを追っていったら404行から
// マネージャから取得
$mgr =& $this->backend->getManager($split[0]);
$attr_list = $mgr->getAttrList($split[1]);
if (is_array($attr_list)) {
foreach ($attr_list as $key => $val) {
$options[$key] = $val['name'];
}
}
となっていたので、AppManagerから帰す時はgetAttrListで
return array(0=>array('name'=>'a'),1=>array('name'=>'b'),...);
と帰すと上手く行きました。
この形式じゃないと駄目なのってなにか歴史的経緯でもあるんでしょうか?
$options[$key] = $val;
だったら面倒がなくて良いんですが・・・
■ このスレッドは過去ログ倉庫に格納されています