私の質問は、「複雑なクエリ、データマッパー、またはサービスレイヤーの条件を処理する必要があるのは誰ですか? 」の@tereško の回答の更新セクションに関連しています。以下は、参照と便宜のためのコードです。
$category = new Category;
$category->setTitle( 'privacy' );
$list = new ArticleCollection;
$list->setCondition( $category );
$list->setDateRange( mktime( 0, 0, 0, 12, 9, 2001) );
// it would make sense, if unset second value for range of dates
// would default to NOW() in mapper
$mapper = new ArticleCollectionMapper;
$mapper->fetch( $list );
foreach ( $list as $article )
{
$article->setFlag( Article::STATUS_REMOVED );
}
$mapper->store( $list );
このコードArticleCollection
はドメイン オブジェクトのコレクションです。それらをArticle
s と呼びましょう。ArticleCollectionMapper
がデータベースからデータをフェッチし、それを に割り当てた瞬間に$list
、 のインスタンスをArticle
(行ごとに) 作成する必要があります。のインスタンスは、 のようなメソッドを介してArticle
コレクション インスタンス ( ) に追加されますか? そのためにファクトリ オブジェクトを使用する必要がありますか? それとも、私が考慮していない別のオプションがありますか?$list
$list->addArticle($newArticle)
ArticleFactory