PHP で私のベンチャーを開始します。いつ定数を使用するのが最適なのか疑問に思っていますか? セキュリティ上の理由から使用できると思います:
プログラマーはそれらをセキュリティ目的で使用しますか? もしそうなら、どのような方法で?
定数は、PHP アプリケーションを作成する際に非常に役立ちます。クエリの作成からロジックまで、定数をうまく活用できます。それらの用途を次のように分類します。
内部の詳細を隠すため:- コードが公開されていても、ロジックが何であるかを明らかにしたくない場合があります。デコードするのが少し難しい場合は、次のステートメントのように:
if($status==ACTIVE) than if($status==1)
保守性 :- チームに新しい開発者がいて、彼はコードの研究を受けています。これで、彼も物事を簡単に理解できるようになりました。
欠けているかもしれないいくつかのポイントがあるかもしれませんが、これは定数の重要性を示していると思います.
いいえ、セキュリティ上の理由から使用しません。
定数はMathと同じです。
例: Google アナリティクスのキーなどの API キーや、API の URL などのデフォルト値を保存できます。
詳細については、ドキュメントhttp://us3.php.net/constantをご覧ください。
これがあなたの質問に答えることを願っています
私の意見では、PHP の定数は他のプログラミング言語の定数と変わらないと思います。これらは、方程式で使用される「魔法の」数のような「一定の」値を提供するために最もよく使用されます。確かに次のようなもの:
define('PI', 3.14);
$radius = 11;
$area = PI * $radius * $radius;
素敵な自己文書化コードになります。その定数をさまざまな場所で使用している場合は特に価値があるため、定数を 3.14159 に変更する場合は、その定義でのみ変更する必要があります。
そうは言っても、php 定数にはいくつかの欠点があります。
たとえば、通常の変数のように文字列に補間することはできないため、ほとんどの人はその理由で文字列定数を避けます。
それらはグローバルでもあり、大量のグローバル定数が常に浮かんでいるのはそれほど素晴らしいことではありません。それらを使用する必要があるときはいつでも、これらの定数定義を含むファイルをインクルードまたは要求する必要があるという組織的な手間は言うまでもありません。PSR-0、コンポーネント ライブラリ、オートローダーの時代では、定数は面倒です。
また、説得力のあるセキュリティの議論も見つかりません。はい、定数は一度定義すると変更できませんが、定数が通常の変数よりも露出される可能性が低くなるわけではありません。ほとんどのライブラリは、DB_USERNAME、DB_PASSWORD、DB_NAME などの見苦しい定数の集まりではなく、おそらくデータベース資格情報を持つ配列またはシングルトン オブジェクトを含む構成ファイルを選択します。これらの定数は、何らかの規則に従って名前を付ける必要があります。それらがどこに行き、何を表しているかを理解するように命じてください。
本当にマジック ナンバーまたは定数の数値を使用している場合は、php 定数の使用を検討しますが、ほとんどの場合、面倒で、ほとんどの場合、価値があるよりも面倒であることがわかると思います。