-
25-09-2019 - |
题
目前,我有一个数据库的接入类命名的 DB
, ,其使用 PDO
.然后,我有一些子类访问的各表:
Users
Images
Galleries
Text
Videos
这是不错的,当我第一次开始了我的项目,但现在我不知道如果这是巨大的,因为我有一个方法每一个数据库的查询,我利用在每一个这些课程。例如:
Images::insertNew($filename)
Images::getTotalInGallery($galleryId)
Images::getAllInGallery($galleryId, $fetchStyle)
Images::updateDescription($imageId, $description)
Images::updateGallery($imageId, $galleryId, $orderNum)
Images::getSingle($imageId)
Images::getFilename($imageId)
Images::getImageIdByFilename($filename)
Galleries::getNameById($galleryId)
Galleries::getAll()
Galleries::getMaxImages($galleryId)
Galleries::checkIfExists($galleryId)
Galleries::createNew($galleryName)
Galleries::getById($galleryId)
Galleries::delete($galleryId)
嗯,你的想法。我已经加入这些方法作为对他们的需要出现,并在发展,我开始只是使用 DB
级:
//Execute a query
DB::query($query);
//Get a single row
$row = DB::getSingleRow($query);
//Get multiple rows
$rows = DB::getMultipleRows($query);
所以,我试查询与我的数据库类,那么当他们工作,我的包裹他们在一个类方法,是相关的(图像类图像表、画廊流的画廊表,等等)。
我觉得这会持续增长和日益增长,因为我加的新功能后来(可以确定,但我不肯定的).任何人可以批评我的方法和/或提供替代解决方案?
谢谢!
解决方案
不,实际上,这听起来很好。你似乎有一个坚实的抽象层之间的业务逻辑和数据访问(这是被称为 数据映射图案).
唯一的问题与这个越来越大,这最终结果可能与方法的重叠。你也应该试着保持一个标准命名convenction跨两种类。
在图像的方法是像::insertNew和在画廊,它是画廊:createNew.
你真有型号?因为什么它看起来像是,你有很多的查询来装配单价值,而不是整个的对象。
不隶属于 StackOverflow