Files
readable-example/sources/Example/VeryGood/Product.php
2024-11-19 13:57:03 +02:00

62 lines
1.2 KiB
PHP

<?php
namespace Example\VeryGood;
class Product
{
public string $sku = '';
public int $quantity = 0;
public float $price = 0;
public function setSku(string $sku): Product
{
$this->sku = $sku;
return $this;
}
public function setQuantity(int $quantity): Product
{
$this->quantity = $quantity;
return $this;
}
public function setPrice(float $price): Product
{
$this->price = $price;
return $this;
}
/**
* Instead of this better to use some DAO lib like JMSSerializer, or cuyz/valinor.
*/
public function setData(array $data): Product
{
$this->sku = $data['sku'] ?? '';
$this->quantity = $data['amount'] ?? 0;
$this->price = $data['price'] ?? 0;
return $this;
}
public function applyVat(float $vat): Product
{
$this->price = $this->price * (1 + $vat / 100);
return $this;
}
public function getSku(): string
{
return $this->sku;
}
public function getQuantity(): int
{
return $this->quantity;
}
public function getPrice(): float
{
return $this->price;
}
}