Я хочу использовать get_class($var)
, чтобы показать класс объекта.Каков был бы лучший способ сделать это?Мой код на данный момент:
abstract class userCharacter {
var $cName;
var $cLevel = 0;
var $cHP = 50;
var $cMP = 20;
function __construct($n) {
$this->cName = $n;
}
function showDetails() {
echo $this->cName . "<br />";
echo "Level: " . $this->cLevel . "<br />";
echo "HP: " . $this->cHP . "<br />";
echo "MP: " . $this->cMP . "<br />";
}
} // userCharacter
class warrior extends userCharacter {
} // warrior
И я создаю объект с помощью:
$charOne = new warrior($name);
Я хочу сделать это в функции showDetails()
функции userCharacter
В классе есть строка, похожая на:
echo "Class: " . get_class($charOne) . "<br />";
Но я вполне уверен, что это не сработает, потому что переменная $charOne
не находится в нужной области видимости.
Я думаю, что мне нужно объявить $charOne
с чем-то вроде:
global $charOne = new warrior($name);
Будет ли это работать?Если нет, то как лучше всего это сделать, если вообще возможно?