![]() 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/App/Router/ |
<?php /** * No route handlers retriever * * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\App\Router; class NoRouteHandlerList { /** * No route handlers instances * * @var NoRouteHandlerInterface[] */ protected $_handlers; /** * @var array */ protected $_handlerList; /** * @var \Magento\Framework\ObjectManagerInterface */ protected $_objectManager; /** * @param \Magento\Framework\ObjectManagerInterface $objectManager * @param array $handlerClassesList */ public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, array $handlerClassesList) { $this->_handlerList = $handlerClassesList; $this->_objectManager = $objectManager; } /** * Get noRoute handlers * * @return NoRouteHandlerInterface[] */ public function getHandlers() { if (!$this->_handlers) { //sorting handlers list $sortedHandlersList = []; foreach ($this->_handlerList as $handlerInfo) { if (isset($handlerInfo['class']) && isset($handlerInfo['sortOrder'])) { $sortedHandlersList[$handlerInfo['class']] = $handlerInfo['sortOrder']; } } asort($sortedHandlersList); //creating handlers foreach (array_keys($sortedHandlersList) as $handlerInstance) { $this->_handlers[] = $this->_objectManager->create($handlerInstance); } } return $this->_handlers; } }