Вы не можете назвать свой класс Parent
, это приведет к сбою сценария из-за следующей ошибки:
Неустранимая ошибка: невозможно использовать 'Parent' в качестве имени класса, поскольку оно зарезервировано в
/var/www/html/class.php в строке 2
Это связано со следующим:
Три специальных ключевых слова self
, parent
и static
используются для доступа
свойства или методы внутри определения класса.
http://php.net/manual/en/language.oop5.paamayim-nekudotayim.php
Итак, когда мы переименовали класс Parent
в Folk
, все работает.
<?PHP
error_reporting(E_ALL);
class Folk {
function a() {
$child = new Child();
$child->a1();
}
}
class Child extends Folk{
function a1() {
echo("hi");
}
}
$folk = new Folk();
$folk->a();
?>
это выводит: hi
Итак, чтобы ответить на ваш вопрос: Да , вы можете создать дочерний объект в родительском классе. Независимо от того, является ли это хорошей практикой или нет.