KATUBLO
2018年10月20日

【PHP】スコープ定義演算子について宇宙一わかりやすく解説する

スコープ定義演算子、プログラミングを少しかじった人なら耳にしたことはある言葉ではないでしょうか?ですが実際に使い方・意味を知っている人はそんなに多くはない気がします。今回はそのような方を対象に解説記事を書いていきます。また今回はPHPを用いての解説となります。

 

スコープ定義演算子とは?

では、まずPHPの公式ドキュメントを見てみましょう。

 

“””The Scope Resolution Operator (also called Paamayim Nekudotayim) or in simpler terms, the double colon, is a token that allows access tostaticconstant, and overridden properties or methods of a class.”””

 

↑PHPマニュアルから引用

 

要約するとダブルコロンはトークンであり、クラスのプロパティやメゾットにアクセスできるとのこと。プロパティにアクセスするというのは、そのプロパティの値を参照したりできます。ちなみにプロパティというのは変数のことです。

 

クラス内のプロパティにアクセス

ではサンプルがてらにクラス内のプロパティにアクセスしてみましょう。

 

 

例をみてわかる通り、普通はクラス内のプロパティを扱う時は、一回インスタンス化をしなければいけませんが、スコープ定義演算子を用いることでインスタンス化なしでクラスのメゾット内のプロパティにアクセスできていることが確認できます。

 

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

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

 

 

 

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

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

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

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

 

 

どうでしょうか?このようにしてスコープ演算子は使用されています。かなり簡潔にコードが書けていますね。PHPを使うときは積極的にこのようなコードを簡潔にする構文を使っていきましょう。

最後まで読んで頂き
ありがとうございました。
SNS等でのシェアが頂ければ幸いです。

プロフィール

@KATUO

現在都内私立大学に通う大学3年生。大学では電気電子工学を専攻。大学2年の夏頃に、プログラマーの長期インターン募集の広告が目に止まり、独学でプログラミングの学習をスタート。この時期からプログラミングにどハマりし、現在までに「AIスタートアップ」「Webマーケティング会社」でエンジニアとしての業務に没頭してきた。

過去の投稿