我可以在PHP中创建别名类名吗?

时间:2011-12-09 18:21:51

标签: php

  

可能重复:
  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;
?>

输出:

  

错误

那么,我该怎么做?或者我是傻瓜?

2 个答案:

答案 0 :(得分:0)

php -r ' class Foo { const BAR = 1; } $class = "Foo"; $var = $class::BAR; echo $var; '

// outputs 1

我使用的是PHP版本5.3,但我不明白为什么这在早期版本的PHP中不起作用,除非这是一个包含后期静态绑定的问题:

http://www.php.net/manual/en/language.oop5.late-static-bindings.php

答案 1 :(得分:0)