簡潔にするために、例を簡略化します。次のようにリポジトリクラスをインスタンス化するindex.php
ファイルがあるとします。
$itemRepos = new ItemRepository();
$allItems = $itemRepos->getAll();
そして、変数のこの時点で$allItems
、データベースからすべてのレコードが返され、それらを反復処理できるようになりました。
しかし、今は(メモリの問題のために)データベースからアイテムを1つずつ読み取る必要があります。確かに、index.php
ファイル内でデータベースに接続して、たとえば次のようなwhileループを使用できます。
while ($row = mysql_fetch_row($result)){
//do stuff
}
したがって、行を1つずつ読み取りますが、そのようにしたくはありません。OOPの原則を使用して、db接続ロジックをindex.php
ファイルに入れずに、同じことをどのように実現するのか疑問に思いました。 (どういうわけか)これをRepositoryクラスに入れます。
これには何らかのパターンや「何か」がすでに存在していると思いますので、正しい方向に押してください。