リフレクション
プログラム実行時にメタデータを取り出す機能
メタデータ:クラス名・変数名・アクセスレベル等
実行時型情報 - C# によるプログラミング入門 | ++C++; // 未確認飛行 C
リフレクション入門 | アライドアーキテクツ エンジニアブログ
普通にコード書くときにはあまり使わない/使いたくない(使うと読むのが難しくなる)
PHPのリフレクション #PHPの文法
参考:Introduction to PHP Reflection API – tajawal – Medium
code:Profile.php
<?php
namespace App\Foo;
/**
* Class Profile
*/
class Profile {
/**
* @return string
*/
public function getUserName(): string
{
return 'Foo';
}
}
// instantiation
$reflectionClass = new \ReflectionClass(Profile::class);
var_dump($reflectionClass->getName());
// => string(15) "App\Foo\Profile"
var_dump($reflectionClass->getDocComment());
// => string(24) "/**
// * Class Profile
// */"