[PHP-users 23134]Re: VOオブジェクトの配列データ

SHIMOOKA Hideyuki dimension @ pat.hi-ho.ne.jp
2004年 8月 29日 (日) 19:06:55 JST


下岡です。

---- yoshikiさん曰く...

>「VO集約用クラス 」
><?php
>class UserList {
>  var $list = Array();
>  function add($element) { $this->list[] = $element; }
>  function get($index)   { return $this->list[$index]; }
>}
>?>
(snip)
>要素の数だけVOのインスタンスが作成されることになります。
>
>とありますが、$listは配列になっているので上記のVOは
>1つのインスタンスで複数の要素を保持する事ができると
>思います。間違った捉え方をしてますでしょうか。

http://www.stackasterisk.jp/tech/php/phpMvc02_02.jsp

の中程にあるクラス図にもあるとおり、UserListクラス(=VO集約用
クラス)は、複数のVOオブジェクト(=Userクラスのインスタンス)を
複数保持できる、ということではないでしょうか?

----ここから

http://www.stackasterisk.jp/tech/php/phpMvc02_01.jspより

<?php
class User {
  var $id;
  var $name;
  var $mail;
  var $password;
  var $birthday;

  // 各属性の set/get メソッド。省略
}
?>

----ここまで

つまり、UserDAOクラスのfindAll()メソッドの処理は、

・SELECT実行
・Fetchしながらループ
・new User()し、Fetchしたデータを詰め込む
・上記UserオブジェクトをUserListオブジェクトにadd
・UserListオブジェクトをreturn

な感じになると思います。

-- 
Hideyuki SHIMOOKA


PHP-users メーリングリストの案内