《PHP》スコープ定義演算子についてわかりやすく解説

プログラミング言語

スコープ定義演算子とは

スコープ定義演算子 (またの名を Paamayim Nekudotayim)、 平たく言うと「ダブルコロン」は、トークンのひとつです。 static, 定数 およびオーバーライドされたクラスのプロパティやメソッドにアクセスすることができます。

引用:「スコープ定義演算子 (::) 」

PHP: スコープ定義演算子 (::) - Manual

まとめると、スコープ定義演算子はトークンであって、スコープ定義演算子を使うとプロパティやクラスにアクセスできるという特性があります。

スコープ定義演算子でクラス内のプロパティにアクセス

では実際にスコープ定義演算子を使ってクラス内のプロパティにアクセスしてみましょう。

引用:「スコープ定義演算子 (::) 」

PHP: スコープ定義演算子 (::) - Manual

例をみてわかる通り、普通はクラス内のプロパティを扱う時は、一回インスタンス化をしなければいけませんが

と$classname::をつけることでインスタンス化なしでクラスのメゾット内のプロパティにアクセスできていることが確認できます。スコープ定義演算子を使うことでコードの簡略化ができるというわけです。

スコープ定義演算子 親クラスと子クラス

親クラスと子クラスの使用例

では次に先ほどよりも少し複雑になりますが、親のクラスを継承した子クラスからスコープ定義演算子を用いて親クラスのプロパティにアクセスしてみましょう。

引用:「スコープ定義演算子 (::) 」

PHP: スコープ定義演算子 (::) - Manual

ここで文法について少し解説します。

親クラスのプロパティにアクセスする

親クラスのプロパティにアクセスする時は

「parent::」

といったように記述します。

自身のプロパティにアクセスする

自身(ここでいう子クラス)のプロパティにアクセスする時は

「self::」

といったように記述します。

今回はstaticで定義されたプロパティにアクセスするためにスコープ定義演算子を用いた形となっています。

番外:その他おすすめの記事

開発がもっと快適に、楽しくなるアイテムを紹介します。アイテム1つで開発の楽しさが全然変わるので、良いアイテムにはじゃんじゃんお金を投資すると良いですよ。

おすすめアイテム①

自分はオフィス次の2点の座布団と背もたれクッションを利用してます。姿勢が安定し、お尻への負担が激減します。オフィスにいるのに自宅で作業しているような感覚になるので気に入ってます。また疲労感もかなり減るので費用対効果が非常に高いアイテムです。

おすすめアイテム②

ブックスタンドみなさん使ってますか?PCを打ちながら参考書見る時に手で抑える必要がなくなるので非常に便利です。自分も購入した時なんでいままで使ってなかたんだろうと後悔したのでまだ持ってない方は買っておくと作業効率があがります。

おすすめアイテム③

PCスタンド、magic keyboard、magic mouseを購入してから、開発効率があがり、身体的負担が減って快適に開発ができるようになりました。

エンジニアの基礎知識・教養

別の記事でエンジニアとして知っておくべき技術本についてまとめました。初心者には最低限読んでおいて欲しい技術本をまとめました。例えば「リーダブルコード」などは技術力の高いエンジニアなら必ず過去に読んでいる本だと思います。

時短アイテム!日々の生活の質を上げる

日常生活における無駄を省く表品をまとめました。1日無駄な作業時間が10分発生するとしたら1年間で3600時間もその無駄な作業に時間を費やすことになります。このような魔の作業を消し去ってくれる商品をまとめました。。

気軽にお声かけください

このような形でほぼ毎日、情報発信を行ってます。技術的な部分で誤っている点などもあるかもしれません。その様な部分を発見した方はTwitterのDMなどで知らせていただければ凄い嬉しいです。また自身自身のエンジニアのネットワークを広げたいと思ってます。日頃六本木や渋谷にいることが多いですので気軽にお誘いください。情報交換しましょう。

タイトルとURLをコピーしました