Задать вопрос
Platton
@Platton

Как узнать имя подкласса?

Здравствуйте. Скажите как можно свойству $now класса Chief присваивать строку - имя подкласса (А или В или С) в которых в данный момент вызывается неопределенное свойство. То есть как класс Chief может знать имена своих подклассов в которых вызывается неопределенное свойство.
error_reporting(E_ALL);

class Chief 
{
	public $now;
	public function __get($name){
		return $name;
	}
}

class A extends Chief
{
	public function perf(){
		return $this->pr_a;
	}
}

class B extends Chief
{
	public function perf(){
		return $this->pr_b;
	}
}

class C extends Chief
{
	public function perf(){
		return $this->pr_c;
	}
}

class Closing extends Chief
{
	public $all = array('A','B','C');
	public function perf(){
		foreach($this->all as $v){
			$aught = new $v;
			echo $aught->perf().'<br>';
		}
	}
}

$res = new Closing();
print $res->perf();
  • Вопрос задан
  • 157 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@vdem
Класс не может знать, может знать экземпляр класса.

get_class($this);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы