目的
- 実務のコードで
クラス名::class
という処理を見つけてパッと意味がわからなかったので備忘録としてまとめる。
すみません
- 備忘録としてのメモ的要素が大きいため多少見ずらい記事になるかもしれません。すみません。
クラス名::class
とは
-
公式ドキュメントによると名前を解決しているらしい。
-
簡単に言うとクラスの場所を出力してくれるキーワードである。
-
例えば下記のようにPHPのコードが書かれていたとする。
<?php use App\Models\Test; class Foo { echo Test::class; }
-
上記を実行した際に下記が出力される。
App\Models\Test
-
若干違うがターミナルでファイル名を指定してコマンド
$ pwd
を実行したときと似ていると感じた。(ファイルを指定してコマンド$ pwd
を実行すると指定されたファイルのフルパスが出力される。) -
クラス名::class
はuse宣言で保持しているクラス名情報を返してくれるものである。