![]() 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/ts.corals.io/corals-api/vendor/vonage/client-core/src/Voice/NCCO/ |
<?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\Voice\NCCO; use JsonSerializable; use Vonage\Entity\Hydrator\ArrayHydrateInterface; use Vonage\Voice\NCCO\Action\ActionInterface; class NCCO implements ArrayHydrateInterface, JsonSerializable { /** * @var array<ActionInterface> */ protected $actions = []; /** * @return $this */ public function addAction(ActionInterface $action): self { $this->actions[] = $action; return $this; } public function fromArray(array $data): void { $factory = new NCCOFactory(); foreach ($data as $rawNCCO) { $action = $factory->build($rawNCCO); $this->addAction($action); } } /** * @return array<array<string, string>> */ public function jsonSerialize(): array { return $this->toArray(); } /** * @return array<array<string, string>> */ public function toArray(): array { $data = []; foreach ($this->actions as $action) { $data[] = $action->toNCCOArray(); } return $data; } }