[ Index ] |
PHP Cross Reference of phpBB-3.3.14-deutsch |
[Summary view] [Print] [Text view]
1 <?php 2 3 declare(strict_types=1); 4 5 namespace ProxyManager\ProxyGenerator\AccessInterceptorValueHolder\MethodGenerator; 6 7 use ProxyManager\Generator\MagicMethodGenerator; 8 use ReflectionClass; 9 use Zend\Code\Generator\PropertyGenerator; 10 11 /** 12 * Magic `__clone` for lazy loading value holder objects 13 * 14 * @author Marco Pivetta <ocramius@gmail.com> 15 * @license MIT 16 */ 17 class MagicClone extends MagicMethodGenerator 18 { 19 /** 20 * Constructor 21 * 22 * @param ReflectionClass $originalClass 23 * @param PropertyGenerator $valueHolderProperty 24 * @param PropertyGenerator $prefixInterceptors 25 * @param PropertyGenerator $suffixInterceptors 26 */ 27 public function __construct( 28 ReflectionClass $originalClass, 29 PropertyGenerator $valueHolderProperty, 30 PropertyGenerator $prefixInterceptors, 31 PropertyGenerator $suffixInterceptors 32 ) { 33 parent::__construct($originalClass, '__clone'); 34 35 $valueHolder = $valueHolderProperty->getName(); 36 $prefix = $prefixInterceptors->getName(); 37 $suffix = $suffixInterceptors->getName(); 38 39 $this->setBody( 40 "\$this->$valueHolder = clone \$this->$valueHolder;\n\n" 41 . "foreach (\$this->$prefix as \$key => \$value) {\n" 42 . " \$this->$prefix" . "[\$key] = clone \$value;\n" 43 . "}\n\n" 44 . "foreach (\$this->$suffix as \$key => \$value) {\n" 45 . " \$this->$suffix" . "[\$key] = clone \$value;\n" 46 . '}' 47 ); 48 } 49 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Mon Nov 25 19:05:08 2024 | Cross-referenced by PHPXref 0.7.1 |