С php.net
Если дочерний элемент не определяет конструктор, он может быть унаследован от родительского класса, как обычный метод класса (если он не был объявлен как закрытый).
Из того, что я понимаю, если я не определяю конструктор в child, будет вызван конструктор parent.
Итак, вот мой пример, я сделал родительский класс с конструктором. Создан как дочерний, так и родительский класс, однако выдает следующее предупреждение:
Предупреждение: отсутствует аргумент 1 для транспортного средства :: __ construct ()
Вот пример кода.
class vehicle{
protected $type;
function __construct($type){
$this->type = $type;
echo "Type chosen: $this->type";
}
}
class car extends vehicle{
}
$vehicle = new vehicle("sport");
$car = new car;
Ну, это вызывает конструктор родительского класса. И так как вы не предоставляете никаких аргументов для конструктора, когда вы объявляете $car
объект, он дает вам предупреждение о пропущенном параметре.
Вы должны инициализировать дочерний объект класса, предоставив аргумент «type», как показано ниже:
$car = new car("family");
Других решений пока нет …