get_declared_interfaces

関数の概要

get_declared_interfaces は、現在のスクリプトで宣言されているすべてのインターフェース名の一覧を配列で取得できるPHPの組み込み関数です。クラスやオブジェクトの設計時に、どのインターフェースが利用可能かを確認したい場合に便利です。

パラメータの説明

  • この関数はパラメータを受け取りません。

戻り値

すべての宣言済みインターフェース名をキーにした連想配列を返します。配列のキーがインターフェース名となり、対応する値はそのインターフェースの名前空間付き完全修飾名(FQN)になります。名前空間がない場合でもキーと値は同じ名前になります。

使用例

基本的な使い方

<?php
$interfaces = get_declared_interfaces();
print_r($interfaces);
?>

このコードは現在宣言されているすべてのインターフェース名を配列で取得し、内容を出力します。PHP標準やユーザー定義のインターフェース名が一覧として表示されます。

ユーザー定義インターフェースを含めた例

<?php
interface SampleInterface {
    public function example();
}

print_r(get_declared_interfaces());
?>

独自に定義したSampleInterfaceも含めて、宣言済みのインターフェース一覧にちゃんと追加されていることがわかります。

名前空間を使ったインターフェースと取得

<?php
namespace MyAppContracts;

interface LoggerInterface {
    public function log(string $message);
}

namespace {
    $interfaces = get_declared_interfaces();
    print_r($interfaces);
}
?>

名前空間内で定義されたインターフェースも取得でき、配列のキー・値に名前空間付きの完全修飾名が含まれます。名前空間を使ってプロジェクトを整理している場合でも有効です。

関連する関数

  • get_declared_classes() – 宣言済みクラスの一覧を取得する
  • class_implements() – 指定したクラスやオブジェクトが実装するインターフェースを取得
  • interface_exists() – 指定したインターフェースが存在するかどうかを確認する

まとめ

get_declared_interfacesは現在の実行環境において定義済みのインターフェースを全て取得できる便利な関数です。クラス設計やデバッグ時に利用することで、利用可能なインターフェースの確認が簡単になります。名前空間がある場合も問題なく取得できるため、モダンなPHP開発でも安心して利用可能です。