Laravel服务容器:绑定基元将不起作用

时间:2019-07-04 08:42:19

标签: php laravel

我有一个带有2个参数的构造函数的帮助程序类。我想手动注入第二个参数。

所以我想出了Laravels原始绑定,但不幸的是,它甚至没有触发。什么都没发生。

Helper类的构造方法

    /**
     * Helper Class constructor.
     *
     * @param array $first
     * @param string $second
     */
    public function __construct(array $first, string $second = '')
    {
        $this->first = $first;
        $this->second = $second;
    }

我的服务提供商

class XServiceProvider extends ServiceProvider implements DeferrableProvider
{
    /**
     * Register services.
     *
     * @return void
     */
    public function register()
    {
        $this->app->bind(HelperClass::class, function () {
            $file = json_decode(file_get_contents('__DIR__'), true);

            return new HelperClass($file);
        });

        $this->app->when('App\Helpers\HelperClass')
            ->needs('$second')
            ->give('Some value');
    }

0 个答案:

没有答案