Есть такое задание:
Имеется 2 платёжные системы.
Если в корзине набралось товаров на сумму больше или равно 500, то платить надо, кредитной картой.
Если набралось на сумму более 200 и менее 500, то платить с помощью PayPal.
Это правильное решение?
<?php
interface payStrategy{
public function pay($amount);
}
class payByCC implements payStrategy{
private $ccNum = '';
private $ccType = '';
private $cvvNum = '';
private $ccExpMoth = '';
private $ccExpYear = '';
public function pay($amount = 0){
echo 'Заплатите ' . $amount . ' с помощью кредитной карты';
}
}
class payByPayPal implements payStrategy{
private $payPalEmail = '';
public function pay($amount = 0){
echo 'Заплатите ' . $amount . ' с помощью PayPal';
}
}
class shoppingCart{
public $amount = 0;
public function __construct($amount = 0){
$this->amount = $amount;
}
public function payAmount(){
if($this->amount >=500){
$payment = new payByCC();
}
elseif($this->amount >= 200 && $this->amount < 500){
$payment = new payByPayPal();
}
$payment->pay($this->amount);
}
}
$cart = new shoppingCart(700);
$cart->payAmount();
echo '<br>';
$cart = new shoppingCart(300);
$cart->payAmount();
Сборка персонального компьютера от Artline: умный выбор для современных пользователей