[ Index ] |
PHP Cross Reference of phpBB-3.3.11-deutsch |
[Summary view] [Print] [Text view]
1 <?php 2 3 declare(strict_types=1); 4 5 namespace ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator; 6 7 use ProxyManager\Generator\MagicMethodGenerator; 8 use ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator\Util\InterceptorGenerator; 9 use ProxyManager\ProxyGenerator\Util\GetMethodIfExists; 10 use ReflectionClass; 11 use Zend\Code\Generator\PropertyGenerator; 12 13 /** 14 * Magic `__clone` for lazy loading ghost objects 15 * 16 * @author Marco Pivetta <ocramius@gmail.com> 17 * @license MIT 18 */ 19 class MagicClone extends MagicMethodGenerator 20 { 21 /** 22 * Constructor 23 * 24 * @param ReflectionClass $originalClass 25 * @param PropertyGenerator $prefixInterceptors 26 * @param PropertyGenerator $suffixInterceptors 27 */ 28 public function __construct( 29 ReflectionClass $originalClass, 30 PropertyGenerator $prefixInterceptors, 31 PropertyGenerator $suffixInterceptors 32 ) { 33 parent::__construct($originalClass, '__clone'); 34 35 $parent = GetMethodIfExists::get($originalClass, '__clone'); 36 37 $this->setBody(InterceptorGenerator::createInterceptedMethodBody( 38 $parent ? '$returnValue = parent::__clone();' : '$returnValue = null;', 39 $this, 40 $prefixInterceptors, 41 $suffixInterceptors, 42 $parent 43 )); 44 } 45 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sat Nov 4 14:26:03 2023 | Cross-referenced by PHPXref 0.7.1 |