Viewing file: Config.php (4.58 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?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 is_null; use function trigger_error;
class Config implements JsonSerializable, JsonSerializableInterface, JsonUnserializableInterface, ArrayAccess, ArrayHydrateInterface { /** * @var array<string, mixed> */ protected $data = [];
/** * @param string|int|null $max_outbound_request * @param string|int|null $max_inbound_request * @param string|int|null $max_calls_per_second */ public function __construct( ?string $sms_callback_url = null, ?string $dr_callback_url = null, $max_outbound_request = null, $max_inbound_request = null, $max_calls_per_second = null ) { if (!is_null($sms_callback_url)) { $this->data['sms_callback_url'] = $sms_callback_url; }
if (!is_null($dr_callback_url)) { $this->data['dr_callback_url'] = $dr_callback_url; }
if (!is_null($max_outbound_request)) { $this->data['max_outbound_request'] = $max_outbound_request; }
if (!is_null($max_inbound_request)) { $this->data['max_inbound_request'] = $max_inbound_request; }
if (!is_null($max_calls_per_second)) { $this->data['max_calls_per_second'] = $max_calls_per_second; } }
public function getSmsCallbackUrl(): ?string { return $this->data['sms_callback_url']; }
public function getDrCallbackUrl(): ?string { return $this->data['dr_callback_url']; }
/** * @return string|int|null */ public function getMaxOutboundRequest() { return $this->data['max_outbound_request']; }
/** * @return string|int|null */ public function getMaxInboundRequest() { return $this->data['max_inbound_request']; }
/** * @return string|int|null */ public function getMaxCallsPerSecond() { return $this->data['max_calls_per_second']; }
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 fromArray(array $data): void { $this->data = [ 'sms_callback_url' => $data['sms_callback_url'], 'dr_callback_url' => $data['dr_callback_url'], 'max_outbound_request' => $data['max_outbound_request'], 'max_inbound_request' => $data['max_inbound_request'], 'max_calls_per_second' => $data['max_calls_per_second'], ]; }
public function jsonSerialize(): array { return $this->toArray(); }
public function toArray(): 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'); }
/** * @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; } }
|