是否可以获取调用其方法之一的对象的名称。
情形:
我有A类。我实例化该类的2个对象。如果一个对象调用一个方法,是否可以检索调用它的对象的名称?
编辑:
class Property() {
public function __call($name, $atts) {
if ($name === 'foo') {
//I want to differ Between Color and Position
}
}
}
$Color = new Property();
$Position = new Property();
$Color->foo();
$Position->foo();
答案 0 :(得分:2)
为对象添加名称元素:
class ObJA {
$this->name;
function __construct($name){
$this->name = $name;
}
function getName(){ return $this->name; }
}
在对象创建:
$a = new ObJA('a');
$b = new ObJA('is b');
echo $a->getName(); //`a`
echo $b->getName(); //`is b`
答案 1 :(得分:0)
您始终可以使用get_class()
,但只需创建对象的两个或多个实例,名称就不会改变。 Neal's solution会起作用,但它实际上并没有改变类的名称,并提出了一个问题:为什么需要它?