/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
setup/src/Magento/Setup/Module/Di/Code/Generator.php
92 строки
2 KB
Alexandra Zota
ACP2E-4362: Additional CE copyright updates for 2.4.9-beta1
29 ноя 2025, 18:29
29 ноя 2025, 18:29
27ab0ac
Код
Авторство
О чём код?
<?php /** * Copyright 2015 Adobe * All Rights Reserved. */ namespace Magento\Setup\Module\Di\Code; use Magento\Framework\Code\Generator as FrameworkGenerator; use Magento\Framework\Code\Generator\DefinedClasses; use Magento\Framework\ObjectManagerInterface; /** * Class Generator * @package Magento\Setup\Module\Di\Code */ class Generator extends FrameworkGenerator { /** * List of class methods * * @var array */ private $classMethods = []; /** * @param ObjectManagerInterface $objectManagerInterface * @param FrameworkGenerator\Io $ioObject * @param array $generatedEntities * @param DefinedClasses $definedClasses */ public function __construct( ObjectManagerInterface $objectManagerInterface, ?\Magento\Framework\Code\Generator\Io $ioObject = null, array $generatedEntities = [], ?DefinedClasses $definedClasses = null ) { parent::__construct($ioObject, $generatedEntities, $definedClasses); $this->setObjectManager($objectManagerInterface); } /** * Create entity generator * * @param string $generatorClass * @param string $entityName * @param string $className * @return \Magento\Framework\Code\Generator\EntityAbstract */ protected function createGeneratorInstance($generatorClass, $entityName, $className) { $generatorClass = parent::createGeneratorInstance($generatorClass, $entityName, $className); $generatorClass->setInterceptedMethods($this->classMethods); return $generatorClass; } /** * Generates list of classes * * @param array $classesToGenerate * @throws \Magento\Framework\Exception\LocalizedException * @return void */ public function generateList($classesToGenerate) { foreach ($classesToGenerate as $class => $methods) { $this->setClassMethods($methods); $this->generateClass($class . '\\Interceptor'); $this->clearClassMethods(); } } /** * Sets class methods * * @param array $methods * @return void */ private function setClassMethods($methods) { $this->classMethods = $methods; } /** * Clear class methods * @return void */ private function clearClassMethods() { $this->classMethods = []; } }