Verzeichnisstruktur phpBB-3.3.15
- Veröffentlicht
- 28.08.2024
So funktioniert es
|
Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück |
Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis. |
|
(Beispiel Datei-Icons)
|
Auf das Icon klicken um den Quellcode anzuzeigen |
MagicSleep.php
01 <?php
02
03 declare(strict_types=1);
04
05 namespace ProxyManager\ProxyGenerator\LazyLoadingValueHolder\MethodGenerator;
06
07 use ProxyManager\Generator\MagicMethodGenerator;
08 use ReflectionClass;
09 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 }
44