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

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

編輯:關於PHP編程

昨天學習了一下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);
        // ...
    }
}

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