Otázka 11 / 15

Dárkový poukaz pod stromeček

Marketing chce na Vánoce prodávat elektronické dárkové poukazy: zákazník zaplatí, obdarovaný dostane kód e-mailem a sklad konečně jednou nemusí nic balit. Kolega na to přidal nový typ produktu, merge request je malý a testy poukazu prošly. Schválil bys ho, nebo co mu vrátíš?

Ctrl/Cmd+klik na metodu, třídu nebo konstantu otevře její deklaraci, Alt+← vrátí zpět.

app › Catalog › GiftVoucher.php
<?php declare(strict_types=1);

namespace App\Catalog;

use DateTimeImmutable;

final class GiftVoucher extends Product
{
    public function __construct(
        string $sku,
        string $name,
        int $priceHaler,
        public readonly string $recipientEmail,
        public readonly DateTimeImmutable $validUntil,
    )
    {
        parent::__construct($sku, $name, $priceHaler, 0);
    }

    public function getWeightGrams(): int
    {
        throw new \LogicException("Gift voucher {$this->sku} is delivered by e-mail and has no weight");
    }
}