こんにちは!
ナビゲータのEVEです。
今日は、 PHP で利用する、変数・定数について書きたいと思います。
2024年10月17日に、 クラス ・ メソッド で使用する変数の公式名称がよく分からないという話をしましたが、やっと、 独習PHP第4版 で該当ページに到着しました。
価格: 3740円
(2024/11/14 17:26時点)
感想(0件)
よく知っている言語として、PHPを選択しシステムを開発してきましたが、所々知らない所があり、知らない部分を資料に纏めていたため、遅れてしまいました。ブログを読み返すと、独習PHP第4版を読み始めたのは、10月18日からだったのですね・・・。時間かけ過ぎです・・・。ただ、クラスの開発の期限は守りたいと思っています。
[グローバル変数・ローカル変数]
一番わかり安い グローバル変数 と ローカル変数 について、見ていきましょう。
グローバル変数とは、スクリプト内全体で利用できる変数を指します。クラスという概念の外にある変数です。
ローカル変数とは、関数またはメソッド内でのみ利用可能な変数になります。
[クラス変数とメンバ変数]
クラス変数 ですが、後述しますが、静的プロパティ、staticプロパティと同じ機能の変数です。
そして、 メンバ変数 は、クラス内で、「$this->」というキーワードで操作できる変数となります。
[定数]
定数には、 グローバル定数 と、 クラス(メンバ)定数 があり、グローバル定数は、スクリプト全体で利用できる定数で、クラスの概念の外にある定数です。
そして、 クラス(メンバ)定数 は、固定の値で、インスタンス間で共有され、変更不可能な定数となります。
なお、PHPにおいて、メソッド内では定数という概念はありません。無理に使用したい場合、メソッド内で、defineを使用して定義できますが、それを、メソッド定数とは言わないようです。
[static変数、静的(static)プロパティ]
変数、定数とは違う使われ方をするのが、 static変数 と、 静的プロパティ です。
static変数は、メソッド内でのみ有効なのですが、そこで初回取得した値は、スレッド終了まで保持され、閲覧も変更も可能です。
静的プロパティは、クラスに属し、同プロパティの値は、インスタンス間で共有し、閲覧・変更することができます。
[あとがき]
PHPの解説など読むとき、以上の用語を知らないと、理解に苦しむ点が多々あります。10月17日の時点では、かなり複雑なモノのように感じましたが、纏めてみるとすっきりし、それほど難しくないような気さえしてきます。
用語の意味を間違えて覚えていると、解説書の内容を勘違いして理解してしまうことがあるので、用語の意味をきちんと整理し読破したいと思います。
では、また!!!
■静的メソッド・静的プロパティ 〜プログラム研究室〜
https://fanblogs.jp/bahamuteve/archive/506/0?1731564172