Что делает метод с тем же именем, что и его класс? - PullRequest
0 голосов
/ 09 июня 2011

Мне было интересно, чего можно добиться, если у метода будет то же имя класса.Это работает как конструктор?Вот пример:

class Foo {

  function Foo(){
    //do something.
  }

}

Ответы [ 3 ]

7 голосов
/ 09 июня 2011

Работает ли он как конструктор?

Он работал и все еще работает для обратной вычислимости, но правильный способ определить конструктор из PHP 5 и выше - определить методназывается __construct.

1 голос
/ 10 июня 2011

Так вы бы определили конструктор класса в PHP4 .. хотя он все еще действителен для обратной совместимости, он устарел и для PHP5 следует использовать __construct ()

Попробуйте сделать этот класс совместимым с PHP4и PHP5

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

    return $this->__construct();
}

//constructor php5
function __construct() {

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

}

1 голос
/ 09 июня 2011

В __construct( ) вместо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...