Skip to content

Instantly share code, notes, and snippets.

@faparicior
faparicior / workshop-value-object-or-not-quiz-3.php
Created March 21, 2024 18:52
workshop-value-object-or-not-quiz-3
final class Money
{
private string $amount;
private string $currency;
public function __construct(private string $amount, private string $currency)
{
if (!is_numeric($amount)) {
throw new InvalidAmountException::notNumeric($amount);
}
@faparicior
faparicior / workshop-value-object-or-not-quiz-4.php
Created March 21, 2024 18:53
workshop-value-object-or-not-quiz-4
final class Money
{
public function __construct(private string $amount, private Currency $currency)
{}
public function amount(): string
{
return $this->amount;
}
@faparicior
faparicior / workshop-value-object-or-not-quiz-5.php
Created March 25, 2024 09:27
workshop-value-object-or-not-quiz-5
readonly class Money
{
private function __construct(private string $amount, private Currency $currency)
{}
public static function eur(string $amount): self
{
return new static($amount, Currency::eur());
}