【发布时间】:2012-01-17 00:13:54
【问题描述】:
可能重复:
Getting static property from a class with dynamic class name in PHP
在阅读我的问题之前先快速浏览一下:
在 PHP 中我们可以:
代码:
<?php
class Foo
{
const TOUCH_ME = 1;
public function __construct()
{
}
}
$class = 'Foo';
$object = new $class();
$type = $object instanceof Foo;
echo $type;//Expect to 1
?>
输出:
1
我的问题是,我该怎么做:
代码:
<?php
class Foo
{
const TOUCH_ME = 1;
public function __construct()
{
}
}
$class = 'Foo';
$var = $class::TOUCH_ME;
?>
输出:
一个错误
那么,我该怎么做呢?还是我傻?
【问题讨论】:
-
升级到 PHP 5.3 或更新版本,
$class::TOUCH_ME工作正常。 -
如果您只需要常量,则不需要任何复杂的解决方法或 PHP 5.3。一个简单的
constant("$class::TOUCH_ME");就可以了。
标签: php