coroq/callable-reflector

v1.0.0 2023-04-15 14:20 UTC

This package is auto-updated.

Last update: 2024-09-15 17:25:33 UTC


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 许可协议。