diff --git a/Creational/AbstractFactory/WinJsonWriter.php b/Creational/AbstractFactory/WinJsonWriter.php index 7671521..4c553a8 100644 --- a/Creational/AbstractFactory/WinJsonWriter.php +++ b/Creational/AbstractFactory/WinJsonWriter.php @@ -6,8 +6,12 @@ class WinJsonWriter implements JsonWriter { public function write(array $data, bool $formatted): string { + $options = 0; + if ($formatted) { + $options = JSON_PRETTY_PRINT; + } - return json_encode($data, JSON_PRETTY_PRINT); + return json_encode($data, $options); } } diff --git a/Creational/Builder/Builder.php b/Creational/Builder/Builder.php index 6bda440..eadee30 100644 --- a/Creational/Builder/Builder.php +++ b/Creational/Builder/Builder.php @@ -8,13 +8,13 @@ use DesignPatterns\Creational\Builder\Parts\Vehicle; interface Builder { - public function createVehicle(); + public function createVehicle(): void; - public function addWheel(); + public function addWheel(): void; - public function addEngine(); + public function addEngine(): void; - public function addDoors(); + public function addDoors(): void; public function getVehicle(): Vehicle; } diff --git a/Creational/Builder/CarBuilder.php b/Creational/Builder/CarBuilder.php index b418004..9335a13 100644 --- a/Creational/Builder/CarBuilder.php +++ b/Creational/Builder/CarBuilder.php @@ -14,19 +14,19 @@ class CarBuilder implements Builder { private Car $car; - public function addDoors() + public function addDoors(): void { $this->car->setPart('rightDoor', new Door()); $this->car->setPart('leftDoor', new Door()); $this->car->setPart('trunkLid', new Door()); } - public function addEngine() + public function addEngine(): void { $this->car->setPart('engine', new Engine()); } - public function addWheel() + public function addWheel(): void { $this->car->setPart('wheelLF', new Wheel()); $this->car->setPart('wheelRF', new Wheel()); @@ -34,7 +34,7 @@ class CarBuilder implements Builder $this->car->setPart('wheelRR', new Wheel()); } - public function createVehicle() + public function createVehicle(): void { $this->car = new Car(); } diff --git a/Creational/Builder/TruckBuilder.php b/Creational/Builder/TruckBuilder.php index 2be7f4e..b9d57df 100644 --- a/Creational/Builder/TruckBuilder.php +++ b/Creational/Builder/TruckBuilder.php @@ -14,18 +14,18 @@ class TruckBuilder implements Builder { private Truck $truck; - public function addDoors() + public function addDoors(): void { $this->truck->setPart('rightDoor', new Door()); $this->truck->setPart('leftDoor', new Door()); } - public function addEngine() + public function addEngine(): void { $this->truck->setPart('truckEngine', new Engine()); } - public function addWheel() + public function addWheel(): void { $this->truck->setPart('wheel1', new Wheel()); $this->truck->setPart('wheel2', new Wheel()); @@ -35,7 +35,7 @@ class TruckBuilder implements Builder $this->truck->setPart('wheel6', new Wheel()); } - public function createVehicle() + public function createVehicle(): void { $this->truck = new Truck(); } diff --git a/Creational/Pool/StringReverseWorker.php b/Creational/Pool/StringReverseWorker.php index a2de032..60065de 100644 --- a/Creational/Pool/StringReverseWorker.php +++ b/Creational/Pool/StringReverseWorker.php @@ -4,14 +4,8 @@ declare(strict_types=1); namespace DesignPatterns\Creational\Pool; -use DateTime; - class StringReverseWorker { - public function __construct() - { - } - public function run(string $text): string { return strrev($text); diff --git a/Creational/Pool/WorkerPool.php b/Creational/Pool/WorkerPool.php index 82426a9..6b4f3d8 100644 --- a/Creational/Pool/WorkerPool.php +++ b/Creational/Pool/WorkerPool.php @@ -20,7 +20,7 @@ class WorkerPool implements Countable public function get(): StringReverseWorker { - if (count($this->freeWorkers) == 0) { + if (count($this->freeWorkers) === 0) { $worker = new StringReverseWorker(); } else { $worker = array_pop($this->freeWorkers); @@ -31,10 +31,9 @@ class WorkerPool implements Countable return $worker; } - public function dispose(StringReverseWorker $worker) + public function dispose(StringReverseWorker $worker): void { $key = spl_object_hash($worker); - if (isset($this->occupiedWorkers[$key])) { unset($this->occupiedWorkers[$key]); $this->freeWorkers[$key] = $worker; diff --git a/Creational/StaticFactory/StaticFactory.php b/Creational/StaticFactory/StaticFactory.php index 3b8a9d9..de91a85 100644 --- a/Creational/StaticFactory/StaticFactory.php +++ b/Creational/StaticFactory/StaticFactory.php @@ -14,13 +14,10 @@ final class StaticFactory { public static function factory(string $type): Formatter { - if ($type == 'number') { - return new FormatNumber(); - } - if ($type == 'string') { - return new FormatString(); - } - - throw new InvalidArgumentException('Unknown format given'); + return match ($type) { + 'number' => new FormatNumber(), + 'string' => new FormatString(), + default => throw new InvalidArgumentException('Unknown format given'), + }; } }