Сервисный контейнер Laravel: Связывающие примитивы не будут работать - PullRequest
0 голосов
/ 04 июля 2019

У меня есть вспомогательный класс с конструктором из 2 параметров.Я хочу ввести второй параметр вручную.

Итак, я придумал примитивное связывание Laravels, но, к сожалению, оно даже не срабатывает.Ничего не происходит.

Конструктор класса помощника

    /**
     * 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');
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...