ok
Direktori : /home2/selectio/www/3-idiots/vendor/vonage/client-core/src/Account/ |
Current File : /home2/selectio/www/3-idiots/vendor/vonage/client-core/src/Account/Balance.php |
<?php /** * Vonage Client Library for PHP * * @copyright Copyright (c) 2016-2020 Vonage, Inc. (http://vonage.com) * @license https://github.com/Vonage/vonage-php-sdk-core/blob/master/LICENSE.txt Apache License 2.0 */ declare(strict_types=1); namespace Vonage\Account; use ArrayAccess; use JsonSerializable; use Vonage\Client\Exception\Exception as ClientException; use Vonage\Entity\Hydrator\ArrayHydrateInterface; use Vonage\Entity\JsonSerializableInterface; use Vonage\Entity\JsonUnserializableInterface; use function get_class; use function trigger_error; /** * This class will no longer be accessible via array keys past v2 * * @todo Have the JSON unserialize/serialize keys match with $this->data keys */ class Balance implements JsonSerializable, JsonSerializableInterface, JsonUnserializableInterface, ArrayAccess, ArrayHydrateInterface { /** * @var array */ protected $data; /** * @todo Have these take null values, since we offer an unserialize option to populate */ public function __construct($balance, $autoReload) { $this->data['balance'] = $balance; $this->data['auto_reload'] = $autoReload; } public function getBalance() { return $this->data['balance']; } public function getAutoReload() { return $this->data['auto_reload']; } public function jsonUnserialize(array $json): void { trigger_error( get_class($this) . "::jsonUnserialize is deprecated, please fromArray() instead", E_USER_DEPRECATED ); $this->fromArray($json); } public function jsonSerialize(): array { return $this->data; } public function offsetExists($offset): bool { trigger_error( "Array access for " . get_class($this) . " is deprecated, please use getter methods", E_USER_DEPRECATED ); return isset($this->data[$offset]); } #[\ReturnTypeWillChange] public function offsetGet($offset) { trigger_error( "Array access for " . get_class($this) . " is deprecated, please use getter methods", E_USER_DEPRECATED ); return $this->data[$offset]; } /** * @throws ClientException */ public function offsetSet($offset, $value): void { throw new ClientException('Balance is read only'); } /** * @throws ClientException */ public function offsetUnset($offset): void { throw new ClientException('Balance is read only'); } public function fromArray(array $data): void { $this->data = [ 'balance' => $data['value'], 'auto_reload' => $data['autoReload'] ]; } public function toArray(): array { return $this->data; } /** * @noinspection MagicMethodsValidityInspection */ public function __get($key): ?array { if ($key === 'data') { trigger_error( "Direct access to " . get_class($this) . "::data is deprecated, please use getter to toArray() methods", E_USER_DEPRECATED ); return $this->data; } return null; } }