[ Index ] |
PHP Cross Reference of Joomla 4.2.2 documentation |
[Summary view] [Print] [Text view]
1 <?php 2 3 declare(strict_types=1); 4 5 /* 6 * The MIT License (MIT) 7 * 8 * Copyright (c) 2018-2020 Spomky-Labs 9 * 10 * This software may be modified and distributed under the terms 11 * of the MIT license. See the LICENSE file for details. 12 */ 13 14 namespace CBOR\OtherObject; 15 16 use function array_key_exists; 17 use CBOR\OtherObject; 18 use InvalidArgumentException; 19 20 class OtherObjectManager 21 { 22 /** 23 * @var string[] 24 */ 25 private $classes = []; 26 27 public function add(string $class): void 28 { 29 foreach ($class::supportedAdditionalInformation() as $ai) { 30 if ($ai < 0) { 31 throw new InvalidArgumentException('Invalid additional information.'); 32 } 33 $this->classes[$ai] = $class; 34 } 35 } 36 37 public function getClassForValue(int $value): string 38 { 39 return array_key_exists($value, $this->classes) ? $this->classes[$value] : GenericObject::class; 40 } 41 42 public function createObjectForValue(int $value, ?string $data): OtherObject 43 { 44 /** @var OtherObject $class */ 45 $class = $this->getClassForValue($value); 46 47 return $class::createFromLoadedData($value, $data); 48 } 49 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Wed Sep 7 05:41:13 2022 | Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer |