PHP 定数

定数

定数を定義するには2通りのやり方がある。

define('定数名', 値);

const 定数名 = 値;

定数は変数と異なり、名前の前に$を付けない。また、慣習的に名前は大文字にする。

define文の値には定数を使用することができるが、const文の値には定数を使用することができない。

define('WORK_DIR', '/tmp');
define('RESULT_FILE', WORK_DIR.'/result.ini');

クラスのメンバとして定義したオブジェクト定数の参照は、クラス名::定数名で参照する。

定義済み定数

PHPの事前定義済み定数
定数説明
__CLASS__ クラス名
__DIR__ ファイルが存在するディレクトリ
__FILE__ ファイルのフルパス名
__FUNCTION__ 関数名
__LINE__ ファイル上の現在の行番号
__METHOD__ クラスのメソッド名
__TRAIT__ トレイト名
__NAMESPACE__ 現在の名前空間
DIRECTORY_SEPARATOR ディレクトリの区切り文字(Linuxは「/」、Microsoft Windowsは「\」)
PATH_SEPARATOR パス区切り文字(Unixは「:」、Windowsは「;」)
PHP_BINDIR バイナリのインストール先
PHP_EOL 行末文字(改行)
PHP_VERSION 現在のPHPのバージョン

クラス内定数

クラス内定数とは、クラス定義の内側で作用する定数であり、次の書式で定義する。

const NAME = value

クラス内定数はself::NAMEで参照することができる。クラス内定数の使用例を示す。

class Const {
  const MIN_VALUE = 1;
  public function getMinValue() {
    return self::MIN_VALUE;
  }
}