(PHPで)定数を使用する目的は正確には何ですか?それらがどのように機能するかは理解していますが、どのような状況で、たとえばグローバル変数よりも好ましいのでしょうか。どちらかといえば、変数は文字列内に配置できるため、より柔軟ではないでしょうか。
Webを検索しましたが、見つけたのは定義だけであり、どちらかを使用する実際の理由ではありません。誰かが私が一方を他方よりも使用することの利点を理解するのを手伝ってくれますか?
たとえば、グローバル変数よりもどのような状況で好ましいのでしょうか。
定数は変更されません。不変のグローバル状態は、その可変の対応物よりも優先されます。このようにして、状態は1つの場所で定義され、スクリプトの過程で変更されることはありません。コードの使用を禁止すると、予期しrunkit
ない方法で状態を変更できなくなります。
また、グローバル変数は、キーワードを使用して関数内で宣言する必要がありますがglobal
、技術的にはその宣言ですが、想定されるグローバルよりもタイプワークの方が優れていると思います:)
定数は信頼できます。変わりません。たとえば、他の人が使用できるクラスライブラリを作成しているとします。小数点以下5桁までの円周率を使用したいとしますが、何らかの理由で、円周率をゲッター付きのプライベート変数にしたくないとします。
そうしたらいい
Class Foo {
public $pi = 3.14159;
}
今、あなたのクラスを誤って使用している人がいます
$foo->pi = 4;
まあそれはすべてを台無しにするでしょう。代わりに、あなたは
const $pi = 3.14159;
今、あなたはそれが変わらず、物事を台無しにしないことを知っています。さらに、開発者は、あなたがその特定の値を理由で定義したことを知るでしょう。