除了"你不必更改名称"之外,保留PHP4样式构造函数名称是否存在任何实际问题:
ClassName($args)
Run Code Online (Sandbox Code Playgroud)
在PHP5?
因为命名构造函数仅保留在PHP5中以便与PHP4向后兼容,所以它们更有可能在以后的PHP版本中被弃用__construct(),所以如果你正在写一些你打算长寿的东西,那就要记住了.
如果你使用旧式的构造函数名称,那么你会在这种情况下产生一些混乱
class A
{
public function A()
{
}
}
class B extends A
{
public function B()
{
//how do/should I call the parent constructor?
//parent::A(); ?
//parent::__construct(); ?
}
}
Run Code Online (Sandbox Code Playgroud)
如果有人看到旧样式构造函数并将其切换到较旧的样式构造函数,则可能会破坏功能.此外,如果你必须兼顾你的对象层次,以便B扩展另一个类,你需要手动更改所有调用parent::A(),或者不熟悉"构造函数是一个带有类名的方法"构造的人(意思是任何学过的人)过去5年中的PHP)可能不知道这样做会发生微妙的破坏.
| 归档时间: |
|
| 查看次数: |
2924 次 |
| 最近记录: |