这是我在这里创建好答案几年后的第一个问题。 我正在重新编写我的工作之一,试图使用更深层次的OOP aproach,但我不知道我所做的是否“正确”。PHP crud抽象方法
我想要做的是简单的产品创建,但足够抽象,所以其他编码人员不必知道数据库使用什么,或如何有效的产品数据。只需简单地创建($ attr)方法即可。
这是代码的基本方案。
abstract class Crud_model_abstract {
# private vars
# getter for private vars
# setter for private vars
# some basic methods
}
class Product_model_crud extends Crud_model_abstract {
# private vars
# getter for private vars
# setter for private vars
# CRUD methods (using phpactiverecord.com lib)
}
然后一些类的类别,品牌等具有相同的结构比Product_model_crud
现在我的问题是这样的:我应该创建一个构成实际产品的另一个模型(添加类到它的表,然后品牌然后创建产品并存储它),然后从传递参数的控制器中调用该模型,或者将该大型模型(构成产品的模型)转换为控制器。
我相信,我应该创造一个大模型,但我不确定任何事情在这一点上。我读过很多关于面向对象操作良好实践的材料,并且我在每一步都有疑问:D
我明白了(纠正我,如果我错了)它应该有足够的图层我的代码使它更加干净和具体。但在某些情况下,我看不到足够的时间。
也许这是一个愚蠢的问题(当然!!),但我不知道我到底在做什么了! 谢谢你!
我发现很难理解您的问题 – Galen
的问题是我应该有多深的抽象。我应该创建一个模型来创建整个对象(创建类别,品牌等),或者所有的逻辑都应该放在控制器内部。 – gdi
阅读这篇关于OOP的更多文章:http://www.advantexllc.com/blog/post.cfm/how-oo-almost-destroyed-my-business :)顺便说一句,你有没有考虑过使用Doctrine/Propel/phpactiverecord /还要别的吗 ? – biziclop