С тех пор, как я начал читать книги ООП PHP, я узнал, что статические свойства или методы должны вызываться как
ClassName::$Propertyname;
Но сегодня я попробовал это
$InitializedClass = new Class($args);
echo $InitializedClass::$ClassStaticProperty; //It Worked
Пожалуйста, дайте мне понять, что сделал мой код или что я делаю неправильно. Любая помощь искренне ценится этим учеником.
<?php
class Human {
public $name;
static $title;
public function __construct($name, $title) {
$this->name = $name;
self::$title = $title;
}
}
class Animal extends Human {
public $type;
public function __construct($what){
$this->type = $what;
}
}
$me = new Human('John', 'Deo');
echo $me->name;
echo $me::$title;
$dog = new Animal('Dog');
echo $dog->type;
echo $dog::$title;
echo Animal::$title;
echo Human::$title;
//Each code worked.
?>
Задача ещё не решена.
Других решений пока нет …