ellipse / resolvable-callable
允许使用 Psr-11 容器执行可调用对象的工厂类
1.0.4
2018-02-23 09:56 UTC
Requires
- php: >=7.0
- ellipse/resolvable-value: ^1.0
- psr/container: ^1.0
Requires (Dev)
- eloquent/phony-kahlan: ^1.0
- kahlan/kahlan: ^4.0
README
本包提供了一个可调用对象工厂,允许使用 Psr-11 容器 来执行可调用对象。
要求 php >= 7.0
安装 composer require ellipse/resolvable-callable
运行测试 ./vendor/bin/kahlan
解析可调用对象
本包提供了一个工厂,用于从可调用对象生成 Ellipse\Resolvable\ResolvableCallable
实例。然后可以通过使用 Psr-11 容器和一组占位符值数组,通过调用 ->value()
方法来生成这些可解析的可调用对象值。
<?php namespace App; use Some\Psr11Container; use Ellipse\Resolvable\DefaultResolvableCallableFactory; // The callable to resolve. $callable = function (SomeClass $p1, int $p2 = 0, int $p3, string $p4 = 'p4') { // $p1 is the instance returned by $container->get(SomeClass::class); // $p2 value is 2 // $p3 value is 3 // $p3 value is 'p4' return 'result'; }; // Some Psr-11 container. $container = new Psr11Container; // Resolve the callable. $resolved value is 'result'. $factory = new DefaultResolvableCallableFactory; $resolved = $factory($callable)->value($container, [2, 3]);