PHP:如何将子类__construct()参数传递给父级::__construct()?
2022-08-30 10:51:08
我有一个PHP类,如下所示:
class ParentClass {
public function __construct($arg) {
// Initialize a/some variable(s) based on $arg
}
}
它有一个子类,如下所示:
class ChildClass extends ParentClass {
public function __construct($arg) {
// Let the parent handle construction.
parent::__construct($arg);
}
}
如果由于某种原因,ParentClass需要更改以采用多个可选参数,我希望我的Child类提供“以防万一”,该怎么办?除非我重新编码 ChildClass,否则它只会将一个参数传递给构造函数,并且只会传递该参数。
这是否如此罕见或如此糟糕的做法,以至于通常的情况是,ChildClass不需要从采用不同参数的ParentClass继承?
从本质上讲,我已经在Python中看到过,你可以通过“args”是某种数组/可迭代的数组传递给函数,从而将可能未知数量的参数传递给函数。PHP中是否存在类似的东西?或者我应该在继续之前重构这些类吗?somefunction(*args)