made some refactoring
This commit is contained in:
39
resources/view/patterns/abstract-factory.php
Normal file
39
resources/view/patterns/abstract-factory.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package: patterns
|
||||
* @author: Yevhen Odynets
|
||||
* @date: 2025-07-03
|
||||
* @time: 20:20
|
||||
*/
|
||||
|
||||
declare(strict_types = 1);
|
||||
|
||||
use Pattern\Creational\AbstractFactory\{ParcelSender, ProvidersEnum as PostProvider};
|
||||
|
||||
/**
|
||||
* @param array $parcels
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function doDeliver(array $parcels): void
|
||||
{
|
||||
foreach ($parcels as $parcel) {
|
||||
['provider' => $provider, 'destination_address' => $address] = $parcel;
|
||||
$result = (new ParcelSender($provider, $address))->send();
|
||||
|
||||
echo $result ? "✔️ Sent successfully\n" : "❌ Sending failed\n";
|
||||
}
|
||||
}
|
||||
|
||||
$parcels = [
|
||||
['provider' => PostProvider::NovaPost, 'destination_address' => "02020,\r\nм. Щастя, р-н ХТЗ"],
|
||||
[
|
||||
'provider' => PostProvider::UkrPost,
|
||||
'destination_address' => "Голобородько Семен Юхимович,\r\nn02020, Львівська обл.,\r\nм. Городок, вул. Головна, буд. 1, кв. 50",
|
||||
],
|
||||
['provider' => PostProvider::Meest, 'destination_address' => "Адреса 3"],
|
||||
['provider' => PostProvider::Justin, 'destination_address' => "Відділення 777"],
|
||||
];
|
||||
|
||||
doDeliver($parcels);
|
||||
Reference in New Issue
Block a user