目前,PHP 支持构造函数的两种命名约定。PHP 4 支持 Java 风格的构造函数:
class A
{
public function A()
{
echo "I'm a constructor for class A!";
}
}
PHP 5 支持 Java 风格的构造函数和“魔术方法”语法:
class A
{
public function __construct()
{
echo "I'm a constructor for class A!";
}
}
Java 风格的语法将被弃用,并且它的某些功能在最新的 PHP 中不起作用。但是,它有一个有趣的属性,我不知道与“魔术方法”语法类似。如果派生类foobar
没有显式构造函数,则foobar
基类的方法成为foobar
构造函数:
class A
{
public function A()
{
echo "I'm a constructor for class A!";
}
public function B()
{
echo "I'm a constructor for class B!";
}
}
class B extends A
{
}
由于 Java 风格的构造函数已被弃用,那么 set-the-constructor-in-the-parent 语言特性会变成什么?