php5.5_PHP チュートリアルでクラスレベルの定数を使用する手順

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

昨日 php5.5 を勉強したところ、クラスレベル定数と呼ばれる新しい機能があることがわかりました。私の勉強メモを簡単に共有しましょう。

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

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

名前空間ベンダーパッケージ
クラスフー
{
// ...
}
var_dump(Foo::CLASS); //上記のスクリプトは string(18) "vendorpackageFoo" を出力します。

それを使用する理由

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

コードは次のとおりですコードをコピー
名前空間ベンダーパッケージ
クラスフー
{
// ...
}
var_dump(__NAMESPACE__ . 'Foo');

ただし、名前を完全修飾する必要があり、名前空間がクラス名前空間のエイリアスを参照する場合は、興味深いものになります

以下の例:

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

ベンダーパッケージFooを使用します。 クラス FooTest は PHPUnit_Framework_TestCase を拡張します
{
パブリック関数 testBarCanBeProcessed()
{
$bar = $this->getMock('vendorpackageBar'); $foo = 新しい Foo
$foo->プロセス($bar); // }
}




コードは次のとおりです

コードをコピー ベンダーパッケージFooを使用します。 ベンダーパッケージバーを使用します。 クラス FooTest は PHPUnit_Framework_TestCase を拡張します { パブリック関数 testBarCanBeProcessed() { www.bkjia.com
$bar = $this->getMock(Bar::CLASS); $foo = 新しい Foo
$foo->プロセス($bar); // }
}









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

tru​​ehttp://www.bkjia.com/PHPjc/628622.html

技術記事

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