我一直在使用 PHP 5 在本地设计一个网站,但遇到了一些设计问题,我现在想请教一下。
目前该网站共有三个功能,每个功能都有一个类。这些功能如下:
- 一个博客
- 朋友列表
- 一组图像
我有一个类,但在每个类中,我基本上定义了一个类似的方法来获取所有 [博客 | 朋友 | 图片]。我想知道你们中是否有人知道如何将这些类减少得更薄,并且可能有一个在所有三个特性之间通用的类,所有方法对于每个特性都是相同的。(即getAllById($feature, $id))。
我现有的博客类的示例函数如下:
function getBlogsByUserId($userId) {
global $db;
$blogs = array();
$db->where(array("userId"=>$userId));
$rows = $db->get("blog")->fetch(0);
foreach($rows as $row) {
$blog = new Blog();
$blog->id = $row['id'];
$blog->userId = $row['userId'];
$blog->content = $row['content'];
$blogs[] = $blog;
}
return $blogs;
}
注意:我已经为数据库定义了自己的类,所以不用担心。
我查看了网关设计模式,但还没有找到解决方案。我还希望它是可重用的,所以如果我将功能增加到七个或更多,那么我就不必更改太多的类。
谢谢,马特