脚本宝典收集整理的这篇文章主要介绍了PHP Mapper Pattern,多对多关系,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
例如,假设我们有产品和类别以及PRoduct_Categories的表格
以下是产品和类别的一些基本骨架.每个都有一个对象类,每个都有一个MapPEr.
class Product { public $product_id; public $name; public function __construct($product_id = false,$name = false) { $this->product_id = $product_id; $this->name = $name; } } class Product_Mapper { private $_db; public function __construct($_db) {} public function getProducts() {} public function getProductById($product_id) {} public function insert(Product $product) {} public function save(Product $product) {} public function update(Product $product) {} public function delete(Product $product) {} }
类别对象和类别映射器
class Category { public $category_id; public $name; public function __construct($category_id = false,$name = false) { $this->category_id = $category_id; $this->name = $name; } } class Category_Mapper { private $_db; public function __construct($_db) {} public function getCategories() {} public function getCategoryById($product_id) {} public function insert(Category $category) {} public function save(Category $category) {} public function update(Category $category) {} public function delete(Category $category) {} }
这里缺少的是能够将产品添加到类别以及更新/删除/选择类别中的产品等.
是否会违反此模式,在Product_Mapper中创建一个名为addCategory,deleteCategory,getProductsByCategoryId的方法,或者您是否会使用名为Product_Categories的映射器创建一个新对象来处理这些函数?
真的很感激任何反馈.我可以看到任何一种方式都适合,但是没有创建新类,我也可以看到产品类在构建新关系时变得臃肿.
以上是脚本宝典为你收集整理的PHP Mapper Pattern,多对多关系全部内容,希望文章能够帮你解决PHP Mapper Pattern,多对多关系所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。