Heim  >  Artikel  >  Backend-Entwicklung  >  php5.5中类级别的常量使用介绍_PHP

php5.5中类级别的常量使用介绍_PHP

WBOY
WBOYOriginal
2016-06-01 11:59:22899Durchsuche

不久前php刚发布了5.5的第一个稳定版,介绍了一个类级别的常量,名字是 `CLASS` 这个常量对所有的类有效,返回类的全名。

复制代码 代码如下:
namespace vendorpackage;
class Foo
{
    // ...
}
var_dump(Foo::CLASS);
//上面脚本输出 string(18) "vendorpackageFoo".

为什么要使用它

我们为什么要使用一个这样的常量,当然不是像上面那个例子一样只是获得类的全名。我们使用__NAMESPACE__也可以达到同样的效果,而且php5.3就可以用了:

复制代码 代码如下:
namespace vendorpackage;
class Foo
{
    // ...
}
var_dump(__NAMESPACE__ . 'Foo');

然而,当你需要完全限定名称,命名空间引用了类命名空间别名…然后它变得有趣。

在下面的例子:

复制代码 代码如下:
use vendorpackageFoo;
class FooTest extends PHPUnit_Framework_TestCase
{
    public function testBarCanBeProcessed()
    {
        $bar = $this->getMock('vendorpackageBar');
        $foo = new Foo;
        $foo->process($bar);
        // ...
    }
}

复制代码 代码如下:
use vendorpackageFoo;
use vendorpackageBar;
class FooTest extends PHPUnit_Framework_TestCase
{
    public function testBarCanBeProcessed()
    {
        $bar = $this->getMock(Bar::CLASS);
        $foo = new Foo;
        $foo->process($bar);
        // ...
    }

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn