与其类同名的方法有什么作用?

时间:2011-06-09 19:30:19

标签: php class methods

我想知道通过将一个方法作为同一个类的名称来实现什么。它是否像构造函数一样工作?这是一个例子:

class Foo {

  function Foo(){
    //do something.
  }

}

3 个答案:

答案 0 :(得分:7)

  

它是否像构造函数一样工作?

它确实做了,但仍然可以用于向后计算,但是从PHP 5开始定义构造函数的正确方法是定义一个名为__construct的方法。

答案 1 :(得分:1)

In< PHP5它充当构造函数。在PHP5 +中,为了向后兼容,它仍然以这种方式工作,但不推荐使用。在PHP5 +中,您应该使用__construct( )代替。

答案 2 :(得分:1)

这是你在PHP4中定义一个类构造函数的方法..虽然它仍然对后向兼容性有效,但是不推荐使用__construct()

尝试使这个类与PHP4和PHP5兼容

  class foo {
//forward php4 to constructor
function foo() {

    return $this->__construct();
}

//constructor php5
function __construct() {

    register_shutdown_function(array(&$this, "__destruct"));
}

}