上面这段代码执行错误,并不是因为$obj = new Test;应该有括号。
而是因为在存在 __construct 函数的时候,php不会再提供默认的构建函数,
php应该是不允许参数不同重载函数。
下面的代码可以正常运行
这样我想到了c++里面的构建过程,C++中如果没有填写构建函数,会提供一个默认的,或者你以不同参数的形式重载了构建函数,
编译器也会提供一个默认的构建函数。
这个现象应该是php不允许以参数形式重载函数导致的。
上面这段代码执行错误,并不是因为$obj = new Test;应该有括号。
而是因为在存在 __construct 函数的时候,php不会再提供默认的构建函数,
php应该是不允许参数不同重载函数。
下面的代码可以正常运行
这样我想到了c++里面的构建过程,C++中如果没有填写构建函数,会提供一个默认的,或者你以不同参数的形式重载了构建函数,
编译器也会提供一个默认的构建函数。
这个现象应该是php不允许以参数形式重载函数导致的。