%PDF- %GIF98; %PNG;
Server : ApacheSystem : Linux host.digitalbabaji.in 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64 User : addictionfreeind ( 1003) PHP Version : 7.2.34 Disable Function : exec,passthru,shell_exec,system Directory : /home/addictionfreeind/public_html/admin1/vendor/vonage/client-core/src/Voice/NCCO/ |
Upload File : |
<?php
/**
* Vonage Client Library for PHP
*
* @copyright Copyright (c) 2016-2022 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;
}
}