__construct
使用构造函数和使用类名作为构造函数时,PHP 类到底有什么区别?
例如:
class Some
{
public function __construct($id)
{
....
}
....
}
或者
class Some
{
public function Some($id)
{
....
}
....
}
__construct
使用构造函数和使用类名作为构造函数时,PHP 类到底有什么区别?
例如:
class Some
{
public function __construct($id)
{
....
}
....
}
或者
class Some
{
public function Some($id)
{
....
}
....
}
顶部是 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
}
}
?>