![]() 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/Interception/Definition/ |
<?php /** * \Reflection based plugin method list. Uses reflection to retrieve list of interception methods defined in plugin. * Should be only used in development mode, because it reads method list on every request which is expensive. * * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\Interception\Definition; use Magento\Framework\Interception\DefinitionInterface; class Runtime implements DefinitionInterface { /** * @var array */ protected $_typesByPrefixes = [ 'befor' => self::LISTENER_BEFORE, 'aroun' => self::LISTENER_AROUND, 'after' => self::LISTENER_AFTER, ]; /** * Plugin method service prefix lengths * * @var array */ protected $prefixLengths = [ self::LISTENER_BEFORE => 6, self::LISTENER_AROUND => 6, self::LISTENER_AFTER => 5, ]; /** * Retrieve list of methods * * @param string $type * @return string[] */ public function getMethodList($type) { $methods = []; $allMethods = get_class_methods($type); if ($allMethods) { foreach ($allMethods as $method) { $prefix = substr($method, 0, 5); if (isset($this->_typesByPrefixes[$prefix])) { $methodName = \lcfirst(substr($method, $this->prefixLengths[$this->_typesByPrefixes[$prefix]])); $methods[$methodName] = isset( $methods[$methodName] ) ? $methods[$methodName] | $this->_typesByPrefixes[$prefix] : $this->_typesByPrefixes[$prefix]; } } } return $methods; } }