ホーム > PHPの文法 > 1 基本構造 > PHP の マジカル定数(マジック定数)
PHPリファレンス

UPDATE:2019年09月18日

PHP の マジカル定数(マジック定数)

PHP の マジカル定数(マジック定数) | wepicks!
PHP5 PHP7

マジカル定数(マジック定数)簡単まとめ

1 Minute Note

  • マジカル定数(マジック定数)は PHPで自動的に定義される定数
  • 使用方法によって値が変化する
  • 大文字小文字を区別しない
  • マジカル定数
    __LINE__ 行番号
    __FILE__ ファイルパス
    __DIR__ ディレクトリパス
    __FUNCTION__ 関数名
    __CLASS__ クラス名
    __TRAIT__ トレイト名
    __METHOD__ クラスのメソッド名
    __NAMESPACE__ 現在の名前空間の名前
マジカル定数(マジック定数)はPHPで自動的に定義される定数のことです。通常定数の値は変化しませんが、マジカル定数は使用方法によって値が変化します。


マジカル定数(マジック定数)とは

POINT

  • マジカル定数(マジック定数)はPHPで自動的に定義される定数
  • 使用方法によって値が変化する
  • 大文字小文字を区別しない

本来 定数 は定義後に値の変更はできません。ですが、使用方法によって変化し、自動的に定義される定数が9つ(PHP5.3から8つ)(PHP5.5から9つ)あります。これらをマジカル定数(マジック定数)といいます。

例えば、マジカル定数の__LINE__は記述した箇所のPHPファイル上の行数を返します。記述した箇所によって行数が変わるので値は変化します。

マジカル定数は大文字小文字を区別しません

結果は

__LINE__
現在の行は、「33」 行目です。
現在の行は、「34」 行目です。
__FILE__
現在のファイルパスは、「・・・パス情報/code-example/php/3-1-12.php」 です。
現在のファイルパスは、「・・・パス情報/code-example/php/3-1-12.php」 です。

となります。

PHPのマジカル定数

定数説明
__LINE__行番号
__LINE__を記述したPHPファイルの現在の行番号を表示します。
__FILE__ファイルパス
ファイルのフルパスとファイル名。インクルードされるファイルの 中で使用された場合、インクルードされるファイルの名前が返されます。 PHP 4.0.2 以降では __FILE__ は常に絶対パスで、シンボリックリンクは解決されます。 それより前のバージョンでは、場合によっては相対パスが返されることもあります。
__DIR__ディレクトリパス
そのファイルの存在するディレクトリ。include の中で使用すると、 インクルードされるファイルの存在するディレクトリを返します。 つまり、これは dirname(__FILE__) と同じ意味です。 ルートディレクトリである場合を除き、ディレクトリ名の末尾にスラッシュはつきません (PHP 5.3.0 で追加されました)。
__FUNCTION__関数名
(PHP4.3.0で追加されました)PHP 5以降、この定数は宣言時の関数名(ケース依存)を返します。 PHP 4では、この値は常に小文字で返されました。
__CLASS__クラス名
(PHP4.3.0で追加されました)PHP 5以降、この定数は宣言時のクラス名(ケース依存)を返します。 PHP 4では、この値は常に小文字で返されました。 クラス名には、そのクラスが宣言されている名前空間も含みます (例 Foo/Bar)。
__TRAIT__トレイト名
(PHP5.4.0で追加されました)トレイト名には、宣言された名前空間も含みます (例 Foo/Bar)。
__METHOD__クラスのメソッド名
(PHP5.0.0で追加されました)メソッド名は宣言時と同じ(ケース依存)を返します。
__NAMESPACE__現在の名前空間の名前 (大文字小文字を区別します)。 この定数はコンパイル時に定義されます (PHP 5.3.0 で追加されました)。
ClassName::classクラスの完全修飾名を文字列で取得する (PHP 5.5.0 で追加されました)。

自動的に定義される定数とは

PHPには多くの定義済み定数があります。これらの定数は実行されるスクリプト中であれば使用可能です。但し、これらの定数の多くは、拡張モジュールにより自動的に定義されます。従って、拡張モジュールが使用可能な場合は自動的に定数が定義され、定数が使用可能になりますが、そうでない場合は使用できません。

拡張モジュールは、PHPコンパイル時に組込む場合や、dl()関数を使用して、動的にロードしたりします。拡張モジュールを利用することでzipファイルを作成したり、様々な機能を利用できるようになります。

定義済みの定数 PHP, Zend engine, SAPI モジュール含む

以下の定数は PHP のコアで定義済みの定数です。 PHP, Zend engine, SAPI モジュールも含みます。

定数説明
PHP_VERSION (string) 現在の PHP のバージョンを"major.minor.release[extra]"形式の文字列で表したもの。
PHP_MAJOR_VERSION (integer) 現在の PHP のメジャーバージョンを整数値で表したもの(たとえば、バージョンが "5.2.7-extra" の場合は int(5) となる)。PHP 5.2.7 以降で利用可能。
PHP_MINOR_VERSION (integer) 現在の PHP のマイナーバージョンを整数値で表したもの(たとえば、バージョンが "5.2.7-extra" の場合は int(2) となる)。PHP 5.2.7 以降で利用可能。
PHP_RELEASE_VERSION (integer) 現在の PHP のリリースバージョンを整数値で表したもの(たとえば、バージョンが "5.2.7-extra" の場合は int(7) となる)。PHP 5.2.7 以降で利用可能。
PHP_VERSION_ID (integer) 現在の PHP のバージョンを整数値で表したもの。バージョンを比較する際に有用(たとえば、バージョンが "5.2.7-extra" の場合は int(50207) となる)。PHP 5.2.7 以降で利用可能。
PHP_EXTRA_VERSION (string) 現在の PHP の追加バージョンを文字列で表したもの(たとえば、バージョンが "5.2.7-extra" の場合は '-extra' となる)。ディストリビューションのベンダーが、パッケージのバージョンを示すために使うことが多い。PHP 5.2.7 以降で利用可能。
PHP_ZTS (integer) PHP 5.2.7 以降で利用可能。
PHP_DEBUG (integer) PHP 5.2.7 以降で利用可能。
PHP_MAXPATHLEN (integer) この PHP がサポートする、ファイル名の長さ (パスを含む) の最大値。PHP 5.3.0 以降で利用可能。
PHP_OS (string) PHP がビルドされた OS。
PHP_OS_FAMILY (string) The operating system family PHP was built for. Either of 'Windows', 'BSD', 'Darwin', 'Solaris', 'Linux' or 'Unknown'.PHP 7.2.0 以降で利用可能。
PHP_SAPI (string) この PHP のサーバー API。 php_sapi_name() も参照ください。
PHP_EOL (string) このプラットフォームの行末文字。PHP 5.0.2 以降で利用可能。
PHP_INT_MAX (integer) この PHP がサポートする整数型の最大値。通常は int(2147483647)。PHP 5.0.5 以降で利用可能。
PHP_INT_MIN (integer) この PHP がサポートする整数型の最小値。通常は、32ビットシステムなら int(-2147483648)、64ビットシステムなら int(-9223372036854775808)。PHP 7.0.0 以降で利用可能。通常は PHP_INT_MIN === ~PHP_INT_MAX となる。
PHP_INT_SIZE (integer) この PHP ビルドにおける整数型のサイズ (バイト数)。PHP 5.0.5 以降で利用可能。
PHP_FLOAT_DIG (integer) float への丸めやその逆操作の際に精度を維持できる数値の桁数。PHP 7.2.0 以降で利用可能。
PHP_FLOAT_EPSILON (float)x + 1.0 != 1.0 となる正の数 x のうちで、浮動小数点数値として表せる最小の数。PHP 7.2.0 以降で利用可能。
PHP_FLOAT_MIN (float) 浮動小数点数値として表せる最小の数。PHP 7.2.0 以降で利用可能。
PHP_FLOAT_MAX (float) 浮動小数点数値として表せる最大の数。PHP 7.2.0 以降で利用可能。
DEFAULT_INCLUDE_PATH (string)
PEAR_INSTALL_DIR (string)
PEAR_EXTENSION_DIR (string)
PHP_EXTENSION_DIR (string)
PHP_PREFIX (string) configure 時に設定された "–prefix" の値。
PHP_BINDIR (string) バイナリのインストール先。
PHP_BINARY (string) スクリプト実行時の PHP バイナリのパス。PHP 5.4 以降で利用可能。
PHP_MANDIR (string) man ページのインストール先。PHP 5.3.7 以降で利用可能。
PHP_LIBDIR (string)
PHP_DATADIR (string)
PHP_SYSCONFDIR (string)
PHP_LOCALSTATEDIR (string)
PHP_CONFIG_FILE_PATH (string)
PHP_CONFIG_FILE_SCAN_DIR (string)
PHP_SHLIB_SUFFIX (string) このプラットフォームの共有ライブラリの拡張子。"so" (多くの Unix 系 OS)や "dll" (Windows) など。
PHP_FD_SETSIZE (string) select システムコール用のファイルディスクリプタの最大数。PHP 7.1.0 以降で使用可能です。
E_ERROR (integer)エラーを報告する定数
E_WARNING (integer)
E_PARSE (integer)
E_NOTICE (integer)
E_CORE_ERROR (integer)
E_CORE_WARNING (integer)
E_COMPILE_ERROR (integer)
E_COMPILE_WARNING (integer)
E_USER_ERROR (integer)
E_USER_WARNING (integer)
E_USER_NOTICE (integer)
E_DEPRECATED (integer) PHP 5.3.0 以降で利用可能
E_USER_DEPRECATED (integer) PHP 5.3.0 以降で利用可能
E_ALL (integer)
E_STRICT (integer)
__COMPILER_HALT_OFFSET__ (integer) PHP 5.1.0 以降で利用可能
TRUE (boolean) 
FALSE (boolean) 
NULL (null) 

サンプルコード

– サンプル Click Here ! –

– サンプル Click Here ! –


タグ(=記事関連ワード)

日付

公開日:2019年8月25日
最終更新日:2019年09月18日

このカテゴリの他のページ

この記事へのコメント

トラックバックurl

https://wepicks.net/phpref-magicteisu/trackback/

page top