| Server IP : 172.67.75.225 / Your IP : 216.73.216.185 Web Server : nginx/1.27.1 System : Linux us-1 5.15.0-131-generic #141-Ubuntu SMP Fri Jan 10 21:18:28 UTC 2025 x86_64 User : vinodai ( 3134) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system,proc_open,popen,parse_ini_file,show_source MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /storage/v1396/wwwindicidolscom/public_html/wp-content/plugins/give/src/ValueObjects/ |
Upload File : |
<?php
namespace Give\ValueObjects;
use Give\Framework\Exceptions\Primitives\InvalidArgumentException;
/**
* Class Address.
*/
class Address implements ValueObjects
{
/**
* @var string
*/
public $line1;
/**
* @var string
*/
public $line2;
/**
* @var string
*/
public $city;
/**
* @var string
*/
public $state;
/**
* @var string
*/
public $postalCode;
/**
* @var string
*/
public $country;
/**
* Take array and return object.
*
* @since 2.7.0
*
* @param array $array
*
* @return Address
*/
public static function fromArray($array)
{
$expectedKeys = ['line1', 'line2', 'city', 'state', 'postalCode', 'country'];
$array = array_intersect_key($array, array_flip($expectedKeys));
if (empty($array)) {
throw new InvalidArgumentException(
'Invalid Address object, must have the exact following keys: ' . implode(', ', $expectedKeys)
);
}
$address = new self();
foreach ($array as $key => $value) {
$address->$key = $value;
}
return $address;
}
}