[ 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\LazyLoadingGhost\MethodGenerator; 6 7 use ProxyManager\Generator\MagicMethodGenerator; 8 use ReflectionClass; 9 use Zend\Code\Generator\MethodGenerator; 10 use Zend\Code\Generator\PropertyGenerator; 11 12 /** 13 * Magic `__clone` for lazy loading ghost objects 14 * 15 * @author Marco Pivetta <ocramius@gmail.com> 16 * @license MIT 17 */ 18 class MagicClone extends MagicMethodGenerator 19 { 20 /** 21 * Constructor 22 * 23 * @param ReflectionClass $originalClass 24 * @param PropertyGenerator $initializerProperty 25 * @param MethodGenerator $callInitializer 26 */ 27 public function __construct( 28 ReflectionClass $originalClass, 29 PropertyGenerator $initializerProperty, 30 MethodGenerator $callInitializer 31 ) { 32 parent::__construct($originalClass, '__clone'); 33 34 $this->setBody( 35 '$this->' . $initializerProperty->getName() . ' && $this->' . $callInitializer->getName() 36 . '(\'__clone\', []);' 37 . ($originalClass->hasMethod('__clone') ? "\n\nparent::__clone();" : '') 38 ); 39 } 40 }
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 |