![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mets.corals.io/wp-content/plugins/give/src/ValueObjects/ |
<?php namespace Give\ValueObjects; use Give\Framework\Exceptions\Primitives\InvalidArgumentException; /** * Class CardInfo * * @package Give\ValueObjects * * @since 2.7.0 */ class CardInfo implements ValueObjects { /** * Cardholder name. * * @var string */ public $name; /** * Cardholder name. * * @var string */ public $number; /** * Card security pin. * * @var string */ public $cvc; /** * Card expire month * * @var string */ public $expMonth; /** * Card expire year. * * @var string */ public $expYear; /** * Address. * * @var Address */ public $address; /** * Take array and return object. * * @param $array * * @return CardInfo */ public static function fromArray($array) { $expectedKeys = ['name', 'cvc', 'expMonth', 'expYear', 'number', 'address']; $array = array_intersect_key($array, array_flip($expectedKeys)); if (empty($array)) { throw new InvalidArgumentException( 'Invalid DonorInfo object, must have the exact following keys: ' . implode(', ', $expectedKeys) ); } // Cast array "address" to Give\ValueObjects\Address object. if ( ! empty($array['address'])) { $array['address'] = Address::fromArray($array['address']); } $cardInfo = new self(); foreach ($array as $key => $value) { $cardInfo->{$key} = $value; } return $cardInfo; } }