У меня есть вспомогательный класс с конструктором из 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');
}