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 |
MagicClone.php
01 <?php
02
03 declare(strict_types=1);
04
05 namespace ProxyManager\ProxyGenerator\AccessInterceptorValueHolder\MethodGenerator;
06
07 use ProxyManager\Generator\MagicMethodGenerator;
08 use ReflectionClass;
09 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 }
50