Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】PHP_RELEASE_VERSION定数の使い方

PHP_RELEASE_VERSION定数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

PHP_RELEASE_VERSION定数は、現在実行されているPHPのバージョン情報のうち、特にリリース番号(リビジョン番号やパッチ番号とも呼ばれます)を表す定数です。

PHPのバージョンは一般的に「メジャー.マイナー.リリース」という形式で構成されています。例えばPHPが「8.1.5」として動作している場合、この定数は「5」というリリース番号を文字列型で保持します。この定数は、バージョン全体を示すPHP_VERSION定数や、メジャーバージョンを示すPHP_MAJOR_VERSION定数、マイナーバージョンを示すPHP_MINOR_VERSION定数と異なり、バージョン番号の最も細かい部分、つまりバグ修正や小さな改善が適用されたリビジョン番号に特化しています。

この定数は、プログラムが動作しているPHP環境のリリースバージョンを厳密に確認したい場合に特に有用です。例えば、特定のリリースバージョンで導入された機能の有無を判別したり、または特定のリリースで修正されたバグに対するワークアラウンドを適用する必要がある場合に、プログラム内で条件分岐を行うために利用できます。デバッグ時の情報表示や、システム要件のチェックなどにも役立ちます。この定数の利用により、PHPの正確なリリースレベルに基づいたロジックの実装が可能になります。

構文(syntax)

1<?php
2
3echo PHP_RELEASE_VERSION;
4
5?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

int

PHP_RELEASE_VERSION は、実行中の PHP のリリースバージョンを整数で表します。例えば、PHP 8.2.5 の場合、80205 のような値になります。

サンプルコード

PHPリリースバージョンとphpversion()でバージョンを取得する

1<?php
2
3/**
4 * PHP_RELEASE_VERSION 定数と phpversion() 関数を使用して、
5 * 現在のPHPバージョンのリリース番号を取得し表示するサンプルコードです。
6 *
7 * PHP_RELEASE_VERSION は整数値で、PHPのパッチバージョンを示します。
8 * 例: PHP 8.1.2 の場合、この定数の値は 2 です。
9 *
10 * phpversion() 関数は、PHPの完全なバージョン文字列 (例: "8.1.2") を返します。
11 */
12
13// PHP_RELEASE_VERSION 定数の値を取得し表示します。
14// これはPHPバージョンにおける「パッチ」または「リリース」番号を表します。
15$releaseVersion = PHP_RELEASE_VERSION;
16echo "PHP リリースバージョン (PHP_RELEASE_VERSION): " . $releaseVersion . PHP_EOL;
17
18// 参考として、phpversion() 関数でPHPの完全なバージョン文字列を取得し表示します。
19// この文字列にはメジャー、マイナー、リリースバージョンが全て含まれます。
20$fullVersionString = phpversion();
21echo "PHP 完全バージョン文字列 (phpversion()): " . $fullVersionString . PHP_EOL;
22
23// PHP_MAJOR_VERSION (メジャーバージョン) と PHP_MINOR_VERSION (マイナーバージョン) を組み合わせて、
24// PHP_RELEASE_VERSION と一緒に完全なバージョン番号を手動で構成することも可能です。
25$majorVersion = PHP_MAJOR_VERSION;
26$minorVersion = PHP_MINOR_VERSION;
27echo "PHP 完全バージョン構成 (MAJOR.MINOR.RELEASE): " . $majorVersion . "." . $minorVersion . "." . $releaseVersion . PHP_EOL;
28
29?>

このサンプルコードは、PHPのバージョン情報を取得するための主要な方法として、PHP_RELEASE_VERSION定数とphpversion()関数の利用例を示しています。

PHP_RELEASE_VERSIONは、現在実行中のPHPのリリース(パッチ)バージョンを示すPHP内部の定数です。例えば、PHPのバージョンが「8.1.2」の場合、この定数の値は整数「2」となります。引数はなく、常に現在のリリースバージョンを表すint型の値が返されます。この定数を使うことで、プログラム内で特定のパッチバージョンに応じた条件分岐や処理を行うことが可能です。

一方、phpversion()関数は、PHPの完全なバージョン情報を文字列として取得します。例えば「8.1.2」といった形式のstringが戻り値として返され、この関数も引数は取りません。

サンプルコードでは、まずPHP_RELEASE_VERSIONの値を直接取得し、現在のリリースバージョンをコンソールに表示しています。次に、phpversion()関数を呼び出して完全なバージョン文字列を取得し、これも表示しています。さらに、PHP_MAJOR_VERSION(メジャーバージョン)とPHP_MINOR_VERSION(マイナーバージョン)という他の内部定数とPHP_RELEASE_VERSIONを組み合わせることで、完全なバージョン番号を手動で構成する方法も提示しており、それぞれの定数や関数がPHPバージョン情報のうちどの部分を提供するのかを具体的に理解することができます。

PHP_RELEASE_VERSIONは、PHPのバージョンにおける最後の数値、すなわちパッチバージョン(リリース番号)のみを整数値で返します。完全なPHPバージョン文字列(例: "8.1.2")を取得したい場合は、phpversion()関数を使用してください。これらは戻り値の型も異なり、PHP_RELEASE_VERSIONは整数、phpversion()は文字列であるため、用途に応じて使い分けが重要です。バージョン間の互換性確認など、特定のバージョン以降でコードを分岐させたい場合は、PHP_MAJOR_VERSIONやPHP_MINOR_VERSIONといった定数と組み合わせ、数値を比較する方がより正確で安全な方法となります。

PHPリリースバージョンの取得と表示

1<?php
2
3/**
4 * PHPのリリースバージョンを取得し表示する関数。
5 *
6 * PHPの標準定数 'PHP_RELEASE_VERSION' は存在しません。
7 * このサンプルコードでは、リファレンス情報に基づき同名の定数を使用するため、
8 * 便宜上 PHP_VERSION_ID からリリースバージョンを計算し、
9 * 'PHP_RELEASE_VERSION' という定数名で定義しています。
10 *
11 * 例: PHP 8.2.10 の場合、リリースバージョンは 10 です。
12 */
13function displayPhpReleaseVersion(): void
14{
15    // PHPの標準定数 'PHP_RELEASE_VERSION' が存在しない場合に定義
16    // PHP_VERSION_ID は、メジャー、マイナー、リリースバージョンを組み合わせた整数値 (例: 80210 for 8.2.10)。
17    // リリースバージョンは、PHP_VERSION_ID を 100 で割った余りから取得できる。
18    if (!defined('PHP_RELEASE_VERSION')) {
19        define('PHP_RELEASE_VERSION', PHP_VERSION_ID % 100);
20    }
21
22    // 定数 PHP_RELEASE_VERSION の値を取得して表示
23    echo "現在のPHPリリースバージョン: " . PHP_RELEASE_VERSION . PHP_EOL;
24}
25
26// 関数の実行
27displayPhpReleaseVersion();
28

このサンプルコードは、現在実行されているPHPの「リリースバージョン」という情報を取得し、画面に表示するものです。PHP 8の標準では、PHP_RELEASE_VERSIONという名前の定数は存在しません。しかし、このサンプルコードは、便宜上この定数名を使用するため、PHPのバージョン全体を示すPHP_VERSION_IDという標準定数からリリースバージョンを計算し、PHP_RELEASE_VERSIONとして定義しています。

PHP_VERSION_IDは、PHPのメジャー、マイナー、リリースバージョンを組み合わせた整数値です。例えば、PHP 8.2.10の場合、PHP_VERSION_IDは80210となります。ここからリリースバージョン(例:10)を取得するには、PHP_VERSION_IDを100で割った余りを計算します。

この定数自体には引数はなく、戻り値としてはリリースバージョンを示す整数(int)型が取得されます。サンプルコードでは、まずPHP_RELEASE_VERSIONが未定義の場合に上記の方法で値を計算して定義し、その後、その定義された値を画面に出力しています。これにより、PHPの詳細なリリース情報をプログラムで扱うことが可能になります。

このサンプルコードで定義されているPHP_RELEASE_VERSIONは、PHPに標準で用意されている組み込み定数ではありません。リファレンス情報には名前が記載されていますが、PHPのバージョン8ではこの定数は存在しない点にご注意ください。

このコードでは、PHPの標準定数であるPHP_VERSION_ID(メジャー、マイナー、リリースバージョンを組み合わせた整数値)からリリースバージョンを計算し、PHP_RELEASE_VERSIONという名前で独自に定数を定義しています。定数の二重定義によるエラーを防ぐため、!defined('PHP_RELEASE_VERSION')を用いて、まだ定義されていない場合にのみ定数を作成している点も重要な補足です。このように、必要な情報を独自に定数として定義する際の安全な実装方法として参考にしてください。

関連コンテンツ

関連プログラミング言語