Size: a a a

Laravel для начинающих

2021 January 27

RK

Roman Kolosov in Laravel для начинающих
setSide что-ли)
источник

B

BJ in Laravel для начинающих
получается плохая практика через конструктор вещать этот гейт
источник

B

BJ in Laravel для начинающих
экшены разны где то нужно передавать где то нет
источник

B

BJ in Laravel для начинающих
на весь контроллер)
источник

🎃

🎃 Даниил ◠‿◠✿... in Laravel для начинающих
Roman Kolosov
setSide что-ли)
setSize
источник

AH

Andrey Helldar in Laravel для начинающих
Roman Kolosov
Ну тоесть не логичнее было бы сделать один метод типо сет сторону раз это квадрат?)
Это не квадрат, а прямоугольник)
источник

RK

Roman Kolosov in Laravel для начинающих
Andrey Helldar
Это не квадрат, а прямоугольник)
Square же
источник

RK

Roman Kolosov in Laravel для начинающих
Первое то понятно
источник

RK

Roman Kolosov in Laravel для начинающих
Сайз это не понятно
источник

AH

Andrey Helldar in Laravel для начинающих
Roman Kolosov
Square же
Есть класс Rectangle, реализующий основную логику.
И есть класс Square, наследующийся от него.
Если задать размер, например, новым методом setSize, а после кто-то вызовет setWidth, то получим прямоугольник.
А такой вариант решает проблему, хоть и не совсем очевидным путём.
источник

AH

Andrey Helldar in Laravel для начинающих
BJ
получается плохая практика через конструктор вещать этот гейт
Вообще ничего не понял.
Гейт - это локальный инстанс, проверяющий внутри себя разрешения. Извне лишь передаёшь в него конкретные данные. И всё. В ответ либо true, либо false. Где true - разрешено, false - запрещено.
источник

🎃

🎃 Даниил ◠‿◠✿... in Laravel для начинающих
источник

AH

Andrey Helldar in Laravel для начинающих
Roman Kolosov
Ну тоесть не логичнее было бы сделать один метод типо сет сторону раз это квадрат?)
class RectangleTest
{
   private $rectangle;

   public function __construct(Rectangle $rectangle)
   {
       $this->rectangle = $rectangle;
   }

   public function testArea()
   {
       $this->rectangle->setHeight(2);
       $this->rectangle->setWidth(3);
       // Expect rectangle's area to be 6
   }
}

class SquareTest
{
   private $rectangle;

   public function __construct(Square $rectangle)
   {
       $this->rectangle = $rectangle;
   }

   public function testArea()
   {
       $this->rectangle->setHeight(2);
       $this->rectangle->setWidth(3);
       // Expect rectangle's area to be 9
   }
}
источник

B

BJ in Laravel для начинающих
Andrey Helldar
Вообще ничего не понял.
Гейт - это локальный инстанс, проверяющий внутри себя разрешения. Извне лишь передаёшь в него конкретные данные. И всё. В ответ либо true, либо false. Где true - разрешено, false - запрещено.
я же про использование а не про декларацию
источник

RK

Roman Kolosov in Laravel для начинающих
Andrey Helldar
class RectangleTest
{
   private $rectangle;

   public function __construct(Rectangle $rectangle)
   {
       $this->rectangle = $rectangle;
   }

   public function testArea()
   {
       $this->rectangle->setHeight(2);
       $this->rectangle->setWidth(3);
       // Expect rectangle's area to be 6
   }
}

class SquareTest
{
   private $rectangle;

   public function __construct(Square $rectangle)
   {
       $this->rectangle = $rectangle;
   }

   public function testArea()
   {
       $this->rectangle->setHeight(2);
       $this->rectangle->setWidth(3);
       // Expect rectangle's area to be 9
   }
}
class Square extends Rectangle
{
   public function setSide($value)
   {
       $this->width = $value;
       $this->height = $value;
   }
}
источник

RK

Roman Kolosov in Laravel для начинающих
я про это
источник

RK

Roman Kolosov in Laravel для начинающих
этож квадрат))
источник

AH

Andrey Helldar in Laravel для начинающих
Roman Kolosov
class Square extends Rectangle
{
   public function setSide($value)
   {
       $this->width = $value;
       $this->height = $value;
   }
}
Смотри ещё раз. Класс Square расширяет Rectangle.

Теперь перестраиваем пример по твоему принципу:

class SquareTest
{
   private $rectangle;

   public function __construct(Square $rectangle)
   {
       $this->rectangle = $rectangle;
   }

   public function testArea()
   {
       $this->rectangle->setSize(4); // должно вернуть 16
       $this->rectangle->setHeight(2);
       $this->rectangle->setWidth(3);
       // НО вернёт 6
   }
}
источник

AH

Andrey Helldar in Laravel для начинающих
Вот тебе и квадрат)
источник

RK

Roman Kolosov in Laravel для начинающих
ток не size а side,size как то больше про площадь чтоли или периметр)
источник