我想从匿名函数中使用self
来访问类常量。
class My_Class {
const CLASS_CONSTANT = 'test value';
private function my_function(){
$lambda_function = function(){
echo self::CLASS_CONSTANT;
};
$lambda_function();
}
}
当我尝试运行这段代码时,我收到了以下错误提示:
Fatal error: Cannot access self:: when no class scope is active in ...
是否可以将父类传递给此匿名函数的作用域中?使用use
语句可行吗?
My_Class::Func()
可以工作,但这不是重点)对于静态函数,有哪个 $this 等效的东西? - Pacerier$self::func()
,即使它是受保护或私有的,因为你是从类本身的上下文中调用它。不过我并不完全确定...试一下吧。$object::static()
是你的好朋友。 - Rudieself
而无需使用use
关键字。 - Jan Wy