ページの作成:「== 概要 == <br><br> == 魔法定数 == <code>__DIR__</code>は、PHPの魔法定数 (マジカル定数) の1つであり、そのPHPファイルが配置されているディレクトリの絶対パスを返す。<br> <u>この定数は、PHP 5.3以降で使用可能である。</u><br> <br> 例えば、以下に示すようなファイル構成の場合、index.phpファイル内で<code>__DIR__</code>を指定すると/var/www/html/myappを指す。<br> /var…」
 
編集の要約なし
 
1行目: 1行目:
== 概要 ==
== 概要 ==
定数は、プログラムの実行中に値が変更されない固定値を表現するために使用する。<br>
変数とは異なり、1度定義すると変更できない。<br>
<br>
定数の定義方法には、主に2つのアプローチがある。
* define関数を使用する方法
* constキーワードを使用する方法
<br>
constキーワードはコンパイル時に定義される必要があり、クラス内での定数定義にも使用できる。<br>
define関数は実行時に定義できるため、動的な使用が可能である。<br>
<br>
PHPには多くの組み込み定数が存在する。<br>
例えば、<code>PHP_VERSION</code>はPHPのバージョン、<code>TRUE</code>、<code>FALSE</code>、<code>NULL</code>といった論理値も定数として扱われる。<br>
<br>
また、マジックコンスタントと呼ばれる特殊な定数もある。<br>
<code>__FILE__</code> (現在のファイルパス) や <code>__LINE__</code> (現在の行番号) 等がこれに該当する。<br>
<br>
定数を使用することにより、コード全体で一貫した値を維持できること、意図しない値の変更を防げること、コードの可読性が向上すること等が挙げられる。<br>
特に、設定値やシステム全体で共有する値の管理に適している。<br>
<br>
なお、定数が定義済みかどうかは<code>defined</code>関数で確認できる。<br>
<syntaxhighlight lang="php">
if (defined('MAX_USERS')) {
    echo "MAX_USERSは定義済みです";
}
</syntaxhighlight>
<br><br>


== define関数の使用 ==
<syntaxhighlight lang="php">
define('MAX_USERS', 100);
echo MAX_USERS;  // 出力 : 100
</syntaxhighlight>
<br><br>
== constキーワードの使用 ==
<syntaxhighlight lang="php">
const MIN_AGE = 18;
echo MIN_AGE;  // 出力 : 18
</syntaxhighlight>
<br><br>
<br><br>