程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php5.5中類級別的常量使用介紹

php5.5中類級別的常量使用介紹

編輯:關於PHP編程

不久前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);
        // ...
    }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved