关于如何制作对象PHP的经验法则

时间:2013-12-20 11:44:20

标签: php oop

在PHP中使用面向对象的编程时,对于应该在对象中应该做什么,或者您是否应该尝试使用面向对象的代码来创建整个程序,这是一个简单的经验法则。我知道这是基于意见的,但我似乎无法找到任何可以为我解答的资源。

感谢。

3 个答案:

答案 0 :(得分:2)

我建议阅读一般的oop概念来掌握它:http://oopsconcepts.blogspot.de/

一个对象应该是多大程度上与语言无关的,你的函数应该是一个对象还是不完全取决于它的使用环境。

通常通过使面向对象来改进普通代码。

在将函数注入某个东西并且必须可替换的场景中,创建一个实现接口的对象可能是有意义的。

答案 1 :(得分:0)

对象(或更确切地说,类)应该与特定名词相关。例如,您可能有一个名为UserProduct的类。函数通常是动词。所以你可能会有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');

现在,您将完全按照函数的方式使用实用程序的方法,但如果它让您感觉更好,它们就在类中。

有几个好处:

  1. 只要您配置了自动加载即可。
  2. IMO您通常会处于更好/更安全的命名空间状态。
  3. 如果你喜欢输入“::”你很擅长:)
  4. __ _ __ _ __ _ __ _ _ 编辑 _ __ _ __ _ __ _ __ _ ____

    以下是为清晰起见而添加的静态Utility类的说明。

    http://en.wikipedia.org/wiki/Utility_pattern