[ 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\LazyLoadingValueHolder\MethodGenerator; 6 7 use ProxyManager\Generator\MagicMethodGenerator; 8 use ReflectionClass; 9 use Zend\Code\Generator\PropertyGenerator; 10 11 /** 12 * Magic `__sleep` for lazy loading value holder objects 13 * 14 * @author Marco Pivetta <ocramius@gmail.com> 15 * @license MIT 16 */ 17 class MagicSleep extends MagicMethodGenerator 18 { 19 /** 20 * Constructor 21 * 22 * @param ReflectionClass $originalClass 23 * @param PropertyGenerator $initializerProperty 24 * @param PropertyGenerator $valueHolderProperty 25 */ 26 public function __construct( 27 ReflectionClass $originalClass, 28 PropertyGenerator $initializerProperty, 29 PropertyGenerator $valueHolderProperty 30 ) { 31 parent::__construct($originalClass, '__sleep'); 32 33 $initializer = $initializerProperty->getName(); 34 $valueHolder = $valueHolderProperty->getName(); 35 36 $this->setBody( 37 '$this->' . $initializer . ' && $this->' . $initializer 38 . '->__invoke($this->' . $valueHolder . ', $this, \'__sleep\', array(), $this->' 39 . $initializer . ');' . "\n\n" 40 . 'return array(' . var_export($valueHolder, true) . ');' 41 ); 42 } 43 }
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 |