2
我有一个合同“ArticleStorage”每个存储必须订阅有效的模型。 诚然,这不是问题,我的问题是:在分页......或“结果修改”,在这种情况下使用fetchall,我想改变自己的行为,但没有加入参数等修饰案或不?
<?php
interface ArticleStorage
{
// public function insert();
// public function update();
// public function delete();
public function fetchAll();
}
class MySQLArticleStorage implements ArticleStorage
{
public function fetchAll()
{
// SELECT * FROM `articles`;
}
}
? >
我的模型是如何工作的。
class ArticlesModel
{
public function __construct(ArticleStorage $storage)
{
}
}
在这种情况下
,我想到了“ArticleStorage”,但不知道是哪个“存储”,是考虑,真的......我想分页或应用效果的修改,使用存储。
class MySQLArticleResultsModifier
{
public function __construct(MySQLArticleStorage $storage)
{
}
public function fetchAll()
{
// ...
}
}
在分页的情况下,我怎么能修改ArticleStorage使用fetchall和应用我的修改后的查询?
在你设计,我在等一个接口来获取一个网页。你期望'Modifier'类的'fetchAll'返回一个页面而不是所有的结果吗? – Sameer
我认为类MySQLArticleResultsModifier还应扩展MySQLArticleStorage和实例传递给构造 –
在我看来,使用fetchall和分页是不相容的概念。为什么不添加一个方法fetchRange(start,end)? –