![]() 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/old/vendor/magento/framework/View/Layout/Argument/Interpreter/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\View\Layout\Argument\Interpreter; use Magento\Framework\Data\Argument\InterpreterInterface; /** * Interpreter of named parameters */ class NamedParams implements InterpreterInterface { /** * Interpreter of individual parameter * * @var InterpreterInterface */ private $paramInterpreter; /** * @param InterpreterInterface $paramInterpreter */ public function __construct(InterpreterInterface $paramInterpreter) { $this->paramInterpreter = $paramInterpreter; } /** * {@inheritdoc} * @return array * @throws \InvalidArgumentException */ public function evaluate(array $data) { $params = isset($data['param']) ? $data['param'] : []; if (!is_array($params)) { throw new \InvalidArgumentException('Layout argument parameters are expected to be an array.'); } $result = []; foreach ($params as $paramKey => $paramData) { if (!is_array($paramData)) { throw new \InvalidArgumentException('Parameter data of layout argument is expected to be an array.'); } $result[$paramKey] = $this->paramInterpreter->evaluate($paramData); } return $result; } }