是否有内置的静态方法或属性来引用 PHP 类,以便在上下文中将其表示为字符串?例如:
而不是这个:
$obj->tempFn('MyClass') //MyClass being the name of the class
我想做这个:
$obj->tempFn(MyClass) //Directly references the class name, instead of a string representation
不,但是您可以在您的类中定义一个包含类名的常量,例如:
class foo{
const
NAME = 'foo';
}
并像访问它一样foo::NAME
。
在PHP 5.5中,您将能够使用:
foo::class
echo get_class($this);
应该在课堂内工作。
echo __CLASS__;
我相信这是一个静态属性
如果真的想避免静态,我认为反射类可能会起作用。
function getClassName(ReflectionParameter $param) {
preg_match('/\[\s\<\w+?>\s([\w]+)/s', $param->__toString(), $matches);
return isset($matches[1]) ? $matches[1] : null;
}
这是来自http://www.php.net/manual/en/reflectionparameter.getclass.php的评论