ellipse/resolvable-callable

允许使用 Psr-11 容器执行可调用对象的工厂类

1.0.4 2018-02-23 09:56 UTC

This package is auto-updated.

Last update: 2024-08-26 00:50:21 UTC


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]);