php5.5_PHP チュートリアルでのクラスレベル定数の使用の概要

WBOY
リリース: 2016-07-21 16:13:13
オリジナル
899 人が閲覧しました

少し前に、PHP は最初の安定バージョン 5.5 をリリースしました。このバージョンでは、「CLASS」というクラスレベルの定数が導入されました。この定数はすべてのクラスで有効であり、クラスの完全な名前を返します。

コードをコピーします コードは次のとおりです:

namespacevendorpackage;
class Foo
{
コード文字列をコピー(18) "vendorpackageFoo".



それを使用する理由
なぜこのような定数を使用する必要があるのでしょうか? もちろん、上記の例のようにクラスの完全な名前を取得するためだけではありません。 __NAMESPACE__ を使用しても同じ効果を達成でき、php5.3 も使用できます:

次のようにコードをコピーします:

& & lt;? Php

namespace VendorPackage; Class Foo { // ... } var_dump (__nameSpace____. 'Foo');
ただし、名前を完全修飾する必要がある場合、名前空間はクラス名前空間のエイリアスを参照します...そうすると、興味深いことが起こります。

以下の例:




コードをコピーします

コードは次のとおりです:

class FooTest extends PHPUnit_Framework_TestCase

{

public function testBarCanBeProcessed()

{

$bar = $this-> getMock('vendorpackageBar '); コードをコピーします
コードは次のとおりです:


usevendorpackageFoo;
class FooTest extends PHPUnit_Framework_TestCase
{
public function testBarCanBeProcessed() ️ getMock(Bar::CLASS ); $ foo = new foo



http://www.bkjia.com/PHPjc/313492.html

www.bkjia.com
tru​​e

http://www.bkjia.com/PHPjc/313492.html技術記事少し前に、PHP は最初の安定バージョン 5.5 をリリースしました。このバージョンでは、「CLASS」というクラスレベルの定数が導入されました。この定数はすべてのクラスに対して有効であり、クラスの完全名を返します。 コードをコピー コード...




ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート