リフレクションというのはプログラムの実行中にクラスの情報を読み取ったり書き込んだりする技術のことらしいです。 PHPの公式ドキュメントには
クラス、インターフェイス、関数、メソッド、そして拡張モジュールについて 型やプロパティを実行時に調べることができます。 さらに、このリフレクション API は関数、クラス、メソッドに 関するドキュメントコメントも取得することができます。
と書いてあります。 リフレクションを使うことで指定したクラスのprivate変数やpublic変数を読み取るなどの使いみちがあるようです
class A { public function __construct() { $this->printPublic(); } protected function printPublic() { $clazz = new ReflectionClass(static::class); foreach ($clazz->getProperties(ReflectionProperty::IS_PUBLIC) as $reflection_property) { $prop_name = $reflection_property->getName(); echo $prop_name; } } } class B extends A { private $id; public $name; public $price; public $weight; }
このようにすれば3つのpublic変数が出力されます。