Files
DesignPatternsPHP/Behavioral/Specification/PriceSpecification.php
Dominik Liebler 4678b5d86f PHP8
2021-04-12 14:04:45 +02:00

24 lines
552 B
PHP

<?php declare(strict_types=1);
namespace DesignPatterns\Behavioral\Specification;
class PriceSpecification implements Specification
{
public function __construct(private ?float $minPrice, private ?float $maxPrice)
{
}
public function isSatisfiedBy(Item $item): bool
{
if ($this->maxPrice !== null && $item->getPrice() > $this->maxPrice) {
return false;
}
if ($this->minPrice !== null && $item->getPrice() < $this->minPrice) {
return false;
}
return true;
}
}