PHP code example of typhoon / reflection
1. Go to this page and download the library: Download typhoon/reflection library. Choose the download type require. 2. Extract the ZIP file and open the index.php. 3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
typhoon / reflection example snippets
use Typhoon\Reflection\TyphoonReflector;
use Typhoon\Type\types;
use function Typhoon\Type\stringify;
/**
* @template TTag of non-empty-string
*/
final readonly class Article
{
/**
* @param list<TTag> $tags
*/
public function __construct(
private array $tags,
) {}
}
$reflector = TyphoonReflector::build();
$class = $reflector->reflectClass(Article::class);
$tagsType = $class->properties()['tags']->type();
var_dump(stringify($tagsType)); // "list<TTag#Article>"
$templateResolver = $class->createTemplateResolver([
types::union(
types::string('PHP'),
types::string('Architecture'),
),
]);
var_dump(stringify($tagsType->accept($templateResolver))); // "list<'PHP'|'Architecture'>"