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

【PHP8.x】ReflectionClass::getConstants()メソッドの使い方

getConstantsメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

getConstantsメソッドは、指定されたクラスに定義されている全ての定数を取得するメソッドです。

このメソッドは、PHPのリフレクションAPIの一部であるReflectionClassオブジェクトから呼び出されます。ReflectionClassは、プログラムが実行されている最中に、クラスの構造(例えば、そのクラスがどのようなメソッドやプロパティ、定数を持っているかなど)を動的に分析するための機能を提供します。

getConstantsメソッドを呼び出すと、対象のクラスに定義されている公開(public)、保護(protected)、非公開(private)といったアクセスレベルに関わらず、全ての定数が連想配列として返されます。この配列では、キーが定数の名前、値がその定数が持つ実際の値となります。例えば、class MyClass { const STATUS_OK = 200; }というクラスがある場合、['STATUS_OK' => 200]のような形式で定数情報が取得されます。

この機能は、クラスの構造を動的に調べたい場合や、特定の条件に基づいてクラスの定数情報を柔軟に扱いたい場合に特に有用です。例えば、フレームワークやライブラリの開発において、ユーザーが定義したクラスの定数を自動的に読み込み、処理に活用するような場面で利用されます。これにより、プログラムの柔軟性と拡張性が向上します。

構文(syntax)

1<?php
2class ExampleClass {
3    public const STATUS_ACTIVE = 1;
4    private const SECRET_KEY = 'hidden';
5}
6
7$reflector = new ReflectionClass(ExampleClass::class);
8$constants = $reflector->getConstants();

引数(parameters)

int $filter = 0

  • int $filter = 0: 取得する定数をフィルタリングするための整数。デフォルトは0 (すべての定数を取得)。

戻り値(return)

array

ReflectionClass::getConstantsは、そのクラスで定義されているすべての定数を、定数名をキー、定数の値をバリューとする連想配列で返します。

関連コンテンツ