Help us understand the problem. What is going on with this article?

PHP クラス名::classはどういう処理??

目的

  • 実務のコードでクラス名::classという処理を見つけてパッと意味がわからなかったので備忘録としてまとめる。

すみません

  • 備忘録としてのメモ的要素が大きいため多少見ずらい記事になるかもしれません。すみません。

クラス名::classとは

  • 公式ドキュメントによると名前を解決しているらしい。
  • 簡単に言うとクラスの場所を出力してくれるキーワードである。
  • 例えば下記のようにPHPのコードが書かれていたとする。

    <?php
    
    use App\Models\Test;
    
    class Foo
    {
        echo Test::class;
    } 
    
  • 上記を実行した際に下記が出力される。

    App\Models\Test
    
  • 若干違うがターミナルでファイル名を指定してコマンド$ pwdを実行したときと似ていると感じた。(ファイルを指定してコマンド$ pwdを実行すると指定されたファイルのフルパスが出力される。)

  • クラス名::classはuse宣言で保持しているクラス名情報を返してくれるものである。

miriwo
web系のバックエンドの知識を習得中! 2019/07/07~毎日更新中
https://miriwo.hatenablog.com/
boomtechcafe
埼玉県の朝霞台を拠点にエンジニアの勉強会、交流会等のイベントを企画しています! 朝霞台駅か北朝霞駅が全然行けちゃうぜってエンジニアの方がいたら是非! もくもく会とかゲーム大会とかもやれたらな~って思ってます。
https://boom-teck-cafe.connpass.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away