/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
lib/internal/Magento/Framework/GetParameterClassTrait.php
46 строк
1 KB
Alexandra Zota
ACP2E-4019: CE copyright updates for 2.4.9-beta1
22 окт 2025, 17:47
22 окт 2025, 17:47
1b769b7
Код
Авторство
О чём код?
<?php /** * Copyright 2021 Adobe * All Rights Reserved. */ namespace Magento\Framework; use ReflectionClass; use ReflectionParameter; use Magento\Framework\Interception\Code\InterfaceValidator; /** * Returns a reflection parameter's class if possible. */ trait GetParameterClassTrait { /** * Get class by reflection parameter * * @param ReflectionParameter $reflectionParameter * * @return ReflectionClass|null * @throws ReflectionException */ private function getParameterClass(ReflectionParameter $reflectionParameter): ?ReflectionClass { $parameterType = $reflectionParameter->getType(); // In PHP8, $parameterType could be an instance of ReflectionUnionType, which doesn't have isBuiltin method. if ($parameterType !== null && method_exists($parameterType, 'isBuiltin') === false) { return null; } // get $parameterType package name $parameterPackage = strstr(trim((string)$parameterType), "\\", true); if ($parameterType && !$parameterType->isBuiltin() && !in_array($parameterPackage, InterfaceValidator::$optionalPackages) ) { return new ReflectionClass($parameterType->getName()); } else { return null; } } }