PHPには既に定義されている便利な定数が存在します。
この記事は、PHPに定義されている定数を紹介します。
定数とは
定数とは指定した値に対するID(名前)です。("白
"を"WHITE
"と定義するなど)
変数はプログラム実行中に変更できるのに対して、定数はプログラム実行中には変更できません。
プログラム中でよく利用する値を定数で定義しておけば、変更したい時は定数の値を変更するだけで振る舞いが変わります。(変数でも良いですが、途中で変更される可能性があるので)
定義済み定数とは
特に定義をしなくても、初めから定義されている定数のことです。
スクリプトファイルのファイル名やPHPのバージョン、改行文字など便利なものが沢山あります。
定義済み定数一覧
定義済み定数の一覧を取得するにはget_defined_constants関数を利用すると取得できます。
ですが、Laravel Sailで環境構築しよう!Dockerを利用して開発環境を構築する方法で記載している方法でインストールした直後でも3258個もあるので、全部は紹介しきれません。
ですので、よく使ったりするものを中心にカテゴリ別にして紹介したいと思います。
マジック定数
使われる場所によって値が変化する定数です。
定数名 | 型 | 説明 |
__LINE__ | int | 行番号 |
__FILE__ | string | ファイルのフルパス+ファイル名 |
__DIR__ | string | ファイルの存在するディレクトリ。dirname(__FILE__) と同義 |
__FUNCTION__ | string | 関数名。無名関数の場合は、{closure} |
__CLASS__ | string | クラス名。名前空間も含みます。 |
__TRAIT__ | string | トレイト名。名前空間も含みます。 |
__METHOD__ | string | クラスのメソッド名 |
__NAMESPACE__ | string | 現在の名前空間名 |
コアの定義済みの定数
trueやfalse、nullも定数だったんですね。
定数名 | 型 | 説明 |
PHP_VERSION | string | 現在のPHPのバージョン |
PHP_MAJOR_VERSION | int | 現在のPHPのメジャーバージョン |
PHP_MINOR_VERSION | int | 現在のPHPのマイナーバージョン |
PHP_OS | string | PHPがビルドされたOS |
PHP_EOL | string | 現在のOSの改行文字 |
true | boolean | 真の値 |
false | boolean | 偽の値 |
null | null | NULL |
ファイルシステム
定数名 | 型 | 説明 |
DIRECTORY_SEPARATOR | string | ディレクトリの区切り文字 |
PATH_SEPARATOR | string | 環境変数"PATH"の区切り文字 |
終わりに
よく使うものを中心に定義済み定数を紹介しました。
他にも見つけ次第、追記していきます。
コメント