marcojetson/invoker

使用关联数组调用可调用对象

dev-master 2015-05-30 08:31 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:20:56 UTC


README

使用关联数组调用PHP可调用对象

Build status Test coverage

用法

使用 invoke 函数,并提供一个可调用对象和作为关联数组的参数

function person($name, $age)
{
}

$invoker = new Invoker();
$invoker->invoke('person', ['age' => 29, 'name' => 'Marco']);

支持可选参数

function person($name, $age = 29)
{
}

$invoker = new Invoker();
$invoker->invoke('person', ['name' => 'Marco']);

可调用对象

除了PHP可调用对象,您还可以将以下形式作为第一个参数使用

  • 实现 __invoke 魔术方法的类名
  • 包含 class::method 的字符串

您可以实现 Resolver 接口,并将其注入到 Invoker 构造函数中,以添加您自己的形式

$invoker = new Invoker(new MyResolver());