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

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

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

作成日: 更新日:

基本的な使い方

getMethodsメソッドは、PHPのReflectionObjectクラスに属し、指定されたオブジェクトが持つ全てのメソッドに関する情報を取得するために実行するメソッドです。

ReflectionObjectクラスは、実行時にPHPのオブジェクトの構造や挙動をプログラムから詳細に検査できるリフレクションAPIの一部です。このメソッドを利用することで、インスタンス化されたオブジェクトがどのようなメソッドを持っているのか、動的に調査することが可能になります。具体的には、getMethodsメソッドは、対象オブジェクトのパブリック、プロテクテッド、プライベート、そして静的なメソッドを含む、あらゆるメソッドに関する情報を取り出します。

戻り値は、各メソッドの詳細を表すReflectionMethodクラスのインスタンスを要素とする配列です。各ReflectionMethodオブジェクトからは、メソッド名、引数の情報、アクセスレベル、それが静的メソッドであるか否か、といった多岐にわたる情報をさらに詳しく取得できます。この機能は、フレームワークの自動処理や、IDEによるコード補完、デバッグツールの開発など、プログラムの構造を動的に解析する必要がある場面で非常に役立ちます。また、特定の条件(例えばパブリックなメソッドのみ)を満たすメソッドを抽出したい場合は、引数として適切なフィルター定数を渡すことで、取得するメソッドを絞り込むことも可能です。

構文(syntax)

1<?php
2
3$reflectionObject = new ReflectionObject(new stdClass());
4$methods = $reflectionObject->getMethods();
5
6?>

引数(parameters)

?int $filter = null

  • ?int $filter = null: 取得するメソッドをフィルタリングするための整数。デフォルトは null で、すべてのメソッドを取得します。

戻り値(return)

ReflectionMethod[]

指定されたクラスの公開、保護、プライベートなメソッドを表す ReflectionMethod オブジェクトの配列が返されます。

関連コンテンツ