昨日 php5.5 を勉強したところ、クラスレベル定数と呼ばれる新しい機能があることがわかりました。私の勉強メモを簡単に共有しましょう。
少し前に、PHP は最初の安定バージョン 5.5 をリリースしました。このバージョンでは、「CLASS」というクラスレベルの定数が導入されました。この定数はすべてのクラスで有効であり、クラスの完全な名前を返します。
コードは次のとおりです | コードをコピー |
名前空間ベンダーパッケージ |
それを使用する理由
なぜこのような定数を使用する必要があるのでしょうか? もちろん、上記の例のようにクラスの完全な名前を取得するためだけではありません。 __NAMESPACE__ を使用しても同じ効果を達成でき、php5.3 も使用できます:
コードをコピー | |
名前空間ベンダーパッケージ クラスフー { // ... } var_dump(__NAMESPACE__ . 'Foo'); |
ただし、名前を完全修飾する必要があり、名前空間がクラス名前空間のエイリアスを参照する場合は、興味深いものになります。
以下の例:
コードをコピー | |
ベンダーパッケージFooを使用します。
クラス FooTest は PHPUnit_Framework_TestCase を拡張します |
コードをコピー
ベンダーパッケージFooを使用します。 ベンダーパッケージバーを使用します。 クラス FooTest は PHPUnit_Framework_TestCase を拡張します { | |
$bar = $this->getMock(Bar::CLASS);
$foo = 新しい Foo $foo->プロセス($bar); // } } http://www.bkjia.com/PHPjc/628622.html |
技術記事