7

__construct使用构造函数和使用类名作为构造函数时,PHP 类到底有什么区别?

例如:

class Some
{
     public function __construct($id)
     {
           ....
     }
     ....
}

或者

class Some
{
      public function Some($id)
      {
            ....
      }
      ....
}
4

1 回答 1

13

顶部是 PHP 5.0 版本的新方式,也是所有新代码的编写方式。后者是旧的 PHP 4 方式并且已过时。在某些时候,它将被完全弃用并从 PHP 中完全删除。

更新

从 PHP 5.3.3 开始,与命名空间类名的最后一个元素同名的方法将不再被视为构造函数。此更改不会影响非命名空间类。

<?php
namespace Foo;
class Bar {
    public function Bar() {
        // treated as constructor in PHP 5.3.0-5.3.2
        // treated as regular method as of PHP 5.3.3
    }
}
?>
于 2012-05-14T18:30:49.493 回答