Source of file SubKeyedArrayStackableRequestArg.php
Size: 1,226 Bytes - Last Modified: 2019-08-09T18:27:54+00:00
/home/travis/build/zerospam/sdk-framework/src/Request/Arguments/Stackable/SubKeyedArrayStackableRequestArg.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | <?php /** * Created by PhpStorm. * User: pbb * Date: 25/09/18 * Time: 9:30 AM */ namespace ZEROSPAM\Framework\SDK\Request\Arguments\Stackable; use ZEROSPAM\Framework\SDK\Request\Arguments\RequestArg; use ZEROSPAM\Framework\SDK\Utils\Contracts\PrimalValued; /** * Class SubKeyedArrayStackableRequestArg * * Implementation for arguments using Freshbooks specific format: ex. ?search[statusids][]=1&search[statusids][]=2 * * @package ZEROSPAM\Framework\SDK\Request\Arguments\Stackable */ class SubKeyedArrayStackableRequestArg extends RequestArg implements IStackableArrayArgument { /** * @var null|string */ private $subKey; public function __construct(string $key, string $subKey, array $value) { parent::__construct($key, $value); $this->subKey = $subKey; } /** * @return string */ public function getSubKey(): string { return $this->subKey; } /** * @return array */ public function toPrimitive(): array { return array_map_recursive(function ($data) { return $data instanceof PrimalValued ? $data->toPrimitive() : $data; }, $this->value); } } |