coroq / callable-reflector
v1.0.0
2023-04-15 14:20 UTC
Requires
- php: >=7.2
Requires (Dev)
- phpunit/phpunit: ^8.5
README
在PHP中轻松创建可调用对象的反射。
需求
- PHP >= 7.2
安装
composer require coroq/callable-reflector
使用
use Coroq\CallableReflector\CallableReflector; $reflection = CallableReflector::createFromCallable($callable);
$callable
可以是闭包、函数、静态方法、实例方法或可调用对象。
返回的反射对象是 ReflectionFunctionAbstract 的实例,具体是 ReflectionFunction 或 ReflectionMethod 取决于可调用类型。
以下是每种类型可调用的示例
// Function $reflection = CallableReflector:createFromCallable('strlen'); // Closure $closure = function($x) { return $x * 2; }; $reflection = CallableReflector::createFromCallable($closure); // Static method $reflection = CallableReflector::createFromCallable('ExampleClass::staticMethod'); $reflection = CallableReflector::createFromCallable([ExampleClass::class, 'staticMethod']); // Instance method $object = new ExampleClass(); $reflection = CallableReflector::createFromCallable([$object, 'instanceMethod']); // Invokable object $object = new InvokableClass(); // InvokableClass has __invoke() $reflection = CallableReflector::createFromCallable($object);
许可协议
本项目采用 MIT 许可协议。