一个类构造函数将始终被调用.有几种方法可以解决这个问题.
第一种方法是为构造函数中的参数提供默认值,只有在这些参数设置后才执行某些操作.例如:
class MyClass {
public __construct($file = null) {
if ($file) {
// perform whatever actions need to be done when $file IS set
} else {
// perform whatever actions need to be done when $file IS NOT set
}
// perform whatever actions need to be done regardless of $file being set
}
}
另一个选择是扩展你的类,使得子类的构造函数不会调用父类的构造函数.
class MyParentClass {
public __construct($file) {
// perform whatever actions need to be done regardless of $file being set
}
}
class MyChildClass extends MyParentClass {
public __construct() {
// perform whatever actions need to be done when $file IS NOT set
}
}