22 lines
478 B
PHP
22 lines
478 B
PHP
<?php
|
|
|
|
namespace MMT\DDDSharedKernel\ValueObjects;
|
|
|
|
use MMT\DDDSharedKernel\Interfaces\Commission;
|
|
|
|
class FixedCommission extends Commission
|
|
{
|
|
public function __construct(
|
|
public private(set) Money $value
|
|
)
|
|
{
|
|
if($value->isNegative()) {
|
|
throw new \InvalidArgumentException('The amount of a commission cannot be negative');
|
|
}
|
|
}
|
|
|
|
public function applyTo(?Money $money = null): Money
|
|
{
|
|
return $this->value;
|
|
}
|
|
} |