Есть такой пример кода:
error_reporting ( E_ALL ^ E_WARNING ^ E_NOTICE );
class A
{
private static $obj = array();
public function __get($name)
{
if(isset(self::$obj[$name]))
return(self::$obj[$name]);
$class = ucfirst($name);
self::$obj[$name] = new $class();
return self::$obj[$name];
}
}
class B extends A
{
public $name;
public function set()
{
return $this->name = __CLASS__;
}
}
class C1 extends A
{
public function test()
{
$this->b->set();
}
}
class C2 extends A
{
public function test()
{
$this->b->set();
}
}
$c1 = new C1();
$c1->test();
echo $c1->b->name;
print '<br><br>';
$c2 = new C2();
$c2->test();
echo $c2->b->name;
Мне нужно чтобы метод
set, который передает значение
имени класса в свойство public $name - определял имена классов в которых он выполняется ( это
C1 и
C2). В данном случаи он определяет только имя
класса В .
Читал мануал о позднем стат.
здесь, но как это применить на практике
в нестатическом контексте? Или возможно есть другие пути?