ログ日記

作業ログと日記とメモ

VOは無駄だな・・

今はDBアクセスの際に

foreach (...){
    $data = fetch();
    $vo = $this->createVo();
    $vo->$property = $data['colimn'];
    ...
    $vos[] = $vo;
}
return $vos;

のような処理を行っている。
DBで取得した配列からVOを作成して、この後テンプレートに代入するために配列に戻している。
凄く意味のない無駄な処理なので、配列をそのまま返すようにしようかな。
O/Rマッピングじゃなくなってしまうけど。
データ取得の時だけ配列で行えるようにすればいいのかな。

PHP5なら迷うことなくVO集約クラス(?)を作ってforeachに対応できるようなイテレータを書くんだが。。
テンプレートからアクションのメンバ変数をforeachすると、そこに代入されているビジネスロジックのVOがDBにアクセスを試みる。
そうすると実質的にビューからDBに接続しているようになる。


一度PHP5で作り始めてしまうと、もうPHP4に戻れないような気がして何ともかんとも。
PHP4だとreturnで返すしか無いのかなぁ。

DBから取得したデータをそのまま表示する考え方が危ないのかもしれないが、Flexyを使っていれば簡単なエスケープ処理はやってくれる。
簡単なテーブルの表示なら

    $this->tableData = $this->_DAU->getArray('tableName');

こんな感じの一行で完結できるようにしてみようかな。