【问题标题】:simple functions or classes? [closed]简单的函数或类? [关闭]
【发布时间】:2011-11-05 22:48:12
【问题描述】:

我有一个非常简单的问题,但我想知道: 什么时候和为什么最好使用简单的函数,什么时候和为什么最好使用类

【问题讨论】:

标签: php oop function


【解决方案1】:

我的答案很简单:

当您需要处理对象时使用类,尤其是当您需要在调用函数时持久化数据时。

当您刚刚从输入输出时使用简单函数,而不访问任何其他变量。

例子:

class Basket {
  private $apples = 0;

  public function fill() {
    $this->apples = 100;
  } 

  public function take($count) {
    $this->apples -= $count;
  } 

  public function applesInBasket() {
    return $this->apples;
  }
}

/* simple */ function wrap_with_div($content) {
  return "<div>$content</div>";
}

【讨论】:

    【解决方案2】:

    函数是一个简单的处理单元,它(可以)接受一些输入并(可以)输出一些东西。 类通常是一段数据的表示,以及处理该数据的一些功能(方法)。但是没有严格的区分。在像 Java 这样的更多 OO 语言中,大多数(或所有)类型都是类。甚至将整数转换为字符串也是通过调用整数上的方法来完成的。在 PHP 中,这通常在一个松散的函数中完成。

    有时您可以选择。您可以使用 mysql* 函数并在每次调用时将资源传递给它们,或者您可以使用类变体,其中对象是资源,函数是方法(当然,省略了第一个参数)。

    在这些情况下,我会选择使用对象表示法,否则只是个人喜好问题。

    【讨论】:

      【解决方案3】:

      使用类总是更好。函数污染全局空间。

      【讨论】:

      • 类也会污染全局空间。 MyLibrary_MyFunctionMyLibraryClass::MyFunction 有什么区别?伪造命名空间的静态类只是说你知道 OO 的借口。
      猜你喜欢
      • 2019-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-24
      • 2012-06-15
      • 2022-12-12
      • 1970-01-01
      • 2016-03-07
      相关资源
      最近更新 更多