Size: a a a

2020 May 12

EK

Evgeniy Kuvshinov in phpGeeksJunior
и одна функция будет переписывать другой объект
источник

EK

Evgeniy Kuvshinov in phpGeeksJunior
ну да ладно если вопрос решен
источник

М

Малой in phpGeeksJunior
Evgeniy Kuvshinov
и одна функция будет переписывать другой объект
понял, тогда переделаю лучше
источник

М

Малой in phpGeeksJunior
спасибо)
источник

EK

Evgeniy Kuvshinov in phpGeeksJunior
SarcasmIO
очень "явно" так сказать
в 100 раз лучше чем

CarBuilder::build()
->withWheels()
->withEtc()
я по другому предпочитаю
$builder = new CarBuilder(required args);
$builder->withWheels()
   -> withEtc()
$car = $builder->build();
источник

S

SarcasmIO in phpGeeksJunior
Evgeniy Kuvshinov
я по другому предпочитаю
$builder = new CarBuilder(required args);
$builder->withWheels()
   -> withEtc()
$car = $builder->build();
у тебя лучше, я так, чисто для наброска накидал
источник

S

Shurick in phpGeeksJunior
$container->car = $container->factory(function(){
 $car = new Car();
 // bla bla
 return $car
});

$car1 = $container->car;
$car2 = $container->car;
источник

EK

Evgeniy Kuvshinov in phpGeeksJunior
Shurick
$container->car = $container->factory(function(){
 $car = new Car();
 // bla bla
 return $car
});

$car1 = $container->car;
$car2 = $container->car;
если нужен инстанс машины с разными водителями например
источник

EK

Evgeniy Kuvshinov in phpGeeksJunior
$ivanov = new Peson('ivanov');
$sidor = new Person('sidorov');
$builder = new CarBuilder():
$car1 = $builder->withDriver($ivanov)
  ->withPasseger($sidor)
  ->build();
$builder = new CarBuilder();
$car2 =  $builder->withDriver($sidor)
  ->withPasseger($ivanov)
  ->build();
источник

EK

Evgeniy Kuvshinov in phpGeeksJunior
два разных объекта
источник

S

Shurick in phpGeeksJunior
$container->driver_name = 'ivanov'; $car = $container->car;
источник

EK

Evgeniy Kuvshinov in phpGeeksJunior
то о чем вы говорите это внедрение зависимостей и оно для другова
источник

EK

Evgeniy Kuvshinov in phpGeeksJunior
добавь 3 авто который без пассажира
источник

EK

Evgeniy Kuvshinov in phpGeeksJunior
и если забыть значения переменной пассажира изменить на пустое значене
источник

EK

Evgeniy Kuvshinov in phpGeeksJunior
машина автоматически создастся с тем пассажиром что был у прошлой машине
источник

EK

Evgeniy Kuvshinov in phpGeeksJunior
и добавляя новую опцию надо во всех старых местах проверять код
источник

EK

Evgeniy Kuvshinov in phpGeeksJunior
вообщем попа боль
источник

EK

Evgeniy Kuvshinov in phpGeeksJunior
это не значит что не надо юзать di
источник

EK

Evgeniy Kuvshinov in phpGeeksJunior
это значит что есть кейсы где builder может быть удобней di или фабрики
источник

S

Shurick in phpGeeksJunior
Evgeniy Kuvshinov
это значит что есть кейсы где builder может быть удобней di или фабрики
builder это повышение отвественности
источник