PHP の ::class 表記法を理解する
PHP の ::class 表記法は、完全修飾名を取得できる強力な機能です。クラスの名前空間を含む。 PHP 5.5 で導入されたこの表記法は、コードの可読性、リファクタリング、遅延静的バインディングにおいて大きな利点をもたらします。
::class を使用する利点
次のような利点があります。 ::class 表記を使用する:
構文と使用法
::class の構文は簡単です:
SomeClass::class
この表記は、名前空間プレフィックスを含む SomeClass の完全修飾名を返します。
例
次のことを考えてみましょう例:
protected $commands = [ \App\Console\Commands\Inspire::class, ];
::class を使用すると、ハードコーディングされたクラス名が不要になり、コマンドの配列の保守と更新が容易になります。
Late Static Binding Example
次の例は、::class を使用した遅延静的バインディングを示しています。 notation:
class A { public function getClassName(){ return __CLASS__; } public function getRealClassName() { return static::class; } } class B extends A {} $a = new A; $b = new B; echo $a->getClassName(); // A echo $a->getRealClassName(); // A echo $b->getClassName(); // A echo $b->getRealClassName(); // B
ご覧のとおり、親クラス A の getRealClassName() メソッドは static::class を使用して派生クラス B の名前を取得し、遅延静的バインディングの利点を示しています。
以上がPHP の `::class` 表記法の利点と使用法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。