PluginProbe
Defender Security – Malware Scanner, Login Security & Firewall / 6.0.1
Defender Security – Malware Scanner, Login Security & Firewall v6.0.1
6.3.0 6.2.3 6.2.4 6.2.0 6.2.1 6.2.2 6.1.0 5.3.1 5.4.0 5.4.1 5.5.0 5.5.1 5.6.0 5.6.1 5.6.2 5.7.0 5.7.1 5.7.2 5.8.0 5.8.1 5.9.0 6.0.0 6.0.1 3.0.1 3.1.0 All 141 releases
defender-security / lib / packages / DI / Proxy / NativeProxyFactory.php

NativeProxyFactory.php in Defender Security – Malware Scanner, Login Security & Firewall 6.0.1, at lib/packages/DI/Proxy/NativeProxyFactory.php

39 lines 914 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 declare(strict_types=1);
4
5 namespace WPMU_DEV\Defender\Vendor\DI\Proxy;
6
7 use LogicException;
8
9 /**
10 * Uses PHP 8.4+'s native support for lazy proxies to generate proxy objects.
11 *
12 * @since 7.1
13 * @author Buster Neece <[email protected]>
14 */
15 class NativeProxyFactory implements ProxyFactoryInterface
16 {
17 /**
18 * Creates a new lazy proxy instance of the given class with
19 * the given initializer.
20 *
21 * {@inheritDoc}
22 */
23 public function createProxy(string $className, \Closure $createFunction) : object
24 {
25 if (\PHP_VERSION_ID < 80400) {
26 throw new LogicException('Lazy loading proxies require PHP 8.4 or higher.');
27 }
28
29 $reflector = new \ReflectionClass($className);
30
31 return $reflector->newLazyProxy($createFunction);
32 }
33
34 public function generateProxyClass(string $className) : void
35 {
36 // Noop for this type.
37 }
38 }
39