萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php5.5中類級別的常量使用說明

php5.5中類級別的常量使用說明

昨天學習了一下php5.5發現有一個新的功能就是類級別的常量,下面我來給大家簡單分享一下我的學習筆記。

不久前php剛發布了5.5的第一個穩定版,介紹了一個類級別的常量,名字是 `CLASS` 這個常量對所有的類有效,返回類的全名。

 代碼如下 復制代碼

<?php
namespace vendorpackage;
class Foo
{
    // ...
}
var_dump(Foo::CLASS);
//上面腳本輸出 string(18) "vendorpackageFoo".

為什麼要使用它

我們為什麼要使用一個這樣的常量,當然不是像上面那個例子一樣只是獲得類的全名。我們使用__NAMESPACE__也可以達到同樣的效果,而且php5.3就可以用了:

 代碼如下 復制代碼

<?php
namespace vendorpackage;
class Foo
{
    // ...
}
var_dump(__NAMESPACE__ . 'Foo');

然而,當你需要完全限定名稱,命名空間引用了類命名空間別名…然後它變得有趣

在下面的例子:

 

 代碼如下 復制代碼


<?php
use vendorpackageFoo;
class FooTest extends PHPUnit_Framework_TestCase
{
    public function testBarCanBeProcessed()
    {
        $bar = $this->getMock('vendorpackageBar');
        $foo = new Foo;
        $foo->process($bar);
        // ...
    }
}

 

 代碼如下 復制代碼 <?php
use vendorpackageFoo;
use vendorpackageBar;
class FooTest extends PHPUnit_Framework_TestCase
{
    public function testBarCanBeProcessed()
    {
        $bar = $this->getMock(Bar::CLASS);
        $foo = new Foo;
        $foo->process($bar);
        // ...
    }
}
copyright © 萬盛學電腦網 all rights reserved