在PHP中使用面向对象的编程时,对于应该在对象中应该做什么,或者您是否应该尝试使用面向对象的代码来创建整个程序,这是一个简单的经验法则。我知道这是基于意见的,但我似乎无法找到任何可以为我解答的资源。
感谢。
答案 0 :(得分:2)
我建议阅读一般的oop概念来掌握它:http://oopsconcepts.blogspot.de/
一个对象应该是多大程度上与语言无关的,你的函数应该是一个对象还是不完全取决于它的使用环境。
通常通过使面向对象来改进普通代码。
在将函数注入某个东西并且必须可替换的场景中,创建一个实现接口的对象可能是有意义的。
答案 1 :(得分:0)
对象(或更确切地说,类)应该与特定名词相关。例如,您可能有一个名为User
或Product
的类。函数通常是动词。所以你可能会有Product->Update()
之类的东西。
在泛型类中简单地拥有一组不相关的函数并不构成良好的OOP设计。如果函数只是按照你的建议进行,那么它就不应该有自己的类。
答案 2 :(得分:-1)
您正在讨论的一种相当标准的模式是将它添加到Utilty类中。
原则上,它只是一个带有公共静态成员方法的类,通常按关系分组 - 与函数文件完全一样。
class MyFileUtility
{
public static function FileToArray($filePath) { // do stuff }
public static function ArrayToFile($array, $filePath { //do stuff }
...
}
$array = MyFileUtility::FileToArray('somefile');
现在,您将完全按照函数的方式使用实用程序的方法,但如果它让您感觉更好,它们就在类中。
有几个好处:
的 强> 的 __ _ __ _ __ _ __ _ _ 编辑 _ __ _ __ _ __ _ __ _ ____ 强>
以下是为清晰起见而添加的静态Utility类的说明。