时间:2021-07-01 10:21:17 帮助过:18人阅读
你不看错误信息的吗?
Fatal error: Cannot redeclare getName()
致命错误:无法重新声明 getName()
class maaper{
protected function getName($reflectionProperties){
return $reflectionProperties->name;
}
public function getProperties(){
$domain=$this->get_domain();
$reflectionProperties=$domain->getProperties(ReflectionProperty::IS_PUBLIC);
$properties=array_map( array($this, 'getName'), $reflectionProperties);
return $properties;
}
也可写作
class maaper{
public function getProperties(){
$getName = function($reflectionProperties){
return $reflectionProperties->name;
};
$domain=$this->get_domain();
$reflectionProperties=$domain->getProperties(ReflectionProperty::IS_PUBLIC);
$properties=array_map( $getName, $reflectionProperties);
return $properties;
}
你不看错误信息的吗?
Fatal error: Cannot redeclare getName()
致命错误:无法重新声明 getName()
class maaper{
protected function getName($reflectionProperties){
return $reflectionProperties->name;
}
public function getProperties(){
$domain=$this->get_domain();
$reflectionProperties=$domain->getProperties(ReflectionProperty::IS_PUBLIC);
$properties=array_map( array($this, 'getName'), $reflectionProperties);
return $properties;
}
也可写作
class maaper{
public function getProperties(){
$getName = function($reflectionProperties){
return $reflectionProperties->name;
};
$domain=$this->get_domain();
$reflectionProperties=$domain->getProperties(ReflectionProperty::IS_PUBLIC);
$properties=array_map( $getName, $reflectionProperties);
return $properties;
}
非常感谢
但是为什么会出现重新声明的错误呢?
你有
$reflectionProperties=$domain-> getProperties(ReflectionProperty::IS_PUBLIC);
就是重新进入了 getProperties,那么在 getProperties 中定义的函数不就重复在定义吗?
你有
$reflectionProperties=$domain-> getProperties(ReflectionProperty::IS_PUBLIC);
就是重新进入了 getProperties,那么在 getProperties 中定义的函数不就重复在定义吗?
虽然有两次调用 $domain-> getProperties 但是此处的getProperties是定义在$domain领域对象所属的类中,其中并没有getName方法。 报错信息是无法重新申明位于class mapper里的位于 getProperties的getName方法。
所以。。。。好像不是这么回事吧
function getName($reflectionProperties){
return $reflectionProperties->name;
}
无论在哪里都是定义全局函数
function getName($reflectionProperties){
return $reflectionProperties->name;
}
无论在哪里都是定义全局函数
一语中的啊
谢谢!!!