![]() 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/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\View; use Magento\Framework\View\Element\BlockFactory; use Magento\Framework\View\Element\BlockInterface; /** * Class BlockPool */ class BlockPool { /** * Block factory * @var \Magento\Framework\View\Element\BlockFactory */ protected $blockFactory; /** * Blocks * * @var array */ protected $blocks = []; /** * Constructor * * @param BlockFactory $blockFactory */ public function __construct(BlockFactory $blockFactory) { $this->blockFactory = $blockFactory; } /** * Add a block * * @param string $name * @param string $class * @param array $arguments [optional] * @return BlockPool * @throws \InvalidArgumentException */ public function add($name, $class, array $arguments = []) { if (!class_exists($class)) { throw new \InvalidArgumentException( (string)new \Magento\Framework\Phrase('Invalid Block class name: %1', [$class]) ); } $block = $this->blockFactory->createBlock($class, $arguments); $this->blocks[$name] = $block; return $this; } /** * Get blocks * * @param string $name * @return BlockInterface|null */ public function get($name = null) { if (!isset($name)) { return $this->blocks; } return $this->blocks[$name] ?? null; } }