Я создаю приложение Laravel 5, и у меня есть хранилище, как показано ниже:
use App\Unit
class UnitRepository implements IUnitRepository
{
public function get_all_units()
{
return Unit::all();
}
// More methods below
}
Примерно в 6 методах в репозитории я делаю что-то вроде
Раздел :: SomeMethod. Теперь мне интересно, если я должен использовать конструктор
впрыск вроде так
class UnitRepository implements IUnitRepository
{
public function __construct(Unit $unit){
$this->unit = $unit
}
public function get_all_units()
{
return $this->unit->all();
}
// More methods below
}
Так что было бы преимуществом использования инжектора конструктора в моем случае. Они какие-то
вид улучшения производительности, учитывая, что я использую фасад примерно в 6 методах?
Ценю помощь
Это не просто вопрос производительности (кстати, разница в показателях производительности в этих двух случаях незначительна).
Как твой Unit
Доступ к модели будет доступен практически в любом методе репозитория, использование инжектора конструктора — это четкий способ явно указать прямую зависимость вашего репозитория от Unit
учебный класс
Кроме того, если вы введете зависимость в свой конструктор, и в будущем вы измените Unit
класс, все, что вам нужно сделать, это изменить параметр конструктора. Вместо этого, используя фасады, вы должны изменить все вызовы фасадов во всех ваших методах.
Других решений пока нет …