2016-10-28 2 views
0

Как разрешить класс в контейнере laravel с дополнительными аргументами?Как разрешить класс в контейнере laravel с дополнительными аргументами?

Это отлично работает и без регистрации:

class myClass 
{ 
    public function __construct(Interf1 $i1, Interf2 $i2) 
    { 
     //some stuff 
    } 
} 
$mc = app()->make('myClass'); 

Что happends, если вам нужно что-то вроде этого:

class myClass 
{ 
    public function __construct(Interf1 $i1, Interf2 $i2, $x, $y) 
    { 
     //some stuff 
    } 
} 

Есть вариант, как:

$ Мс = приложение() -> марка ('MyClass', [10,20]);

или

$ Мс = приложение() -> сделать ('MyClass') -> с (10,20);

Я знаю, что могу использовать сеттеры, но это еще не точка ..

ответ

0

да это именно первая версия, которую вы уже писали, но вы пропустили ключи, которые должны соответствовать аргументы в конструкторе:

$mc = app()->make('myClass',['x' => 10, 'y' => 20]); 
Смежные вопросы