php*_*ini 7 php constructor class
使用__construct
构造函数和使用类的名称作为构造函数时,PHP类的区别究竟是什么?
例如:
class Some
{
public function __construct($id)
{
....
}
....
}
Run Code Online (Sandbox Code Playgroud)
要么
class Some
{
public function Some($id)
{
....
}
....
}
Run Code Online (Sandbox Code Playgroud)
Joh*_*nde 13
top是从5.0版本开始在PHP中完成的新方式,也是应该编写所有新代码的方式.后者是旧的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
}
}
?>
Run Code Online (Sandbox Code Playgroud)