0x1949 Team - FAZEMRX - MANAGER
Edit File: RemoteObjectFactory.php
<?php declare(strict_types=1); namespace ProxyManager\Factory; use ProxyManager\Configuration; use ProxyManager\Factory\RemoteObject\AdapterInterface; use ProxyManager\Proxy\RemoteObjectInterface; use ProxyManager\ProxyGenerator\ProxyGeneratorInterface; use ProxyManager\ProxyGenerator\RemoteObjectGenerator; use ProxyManager\Signature\Exception\InvalidSignatureException; use ProxyManager\Signature\Exception\MissingSignatureException; /** * Factory responsible of producing remote proxy objects * * @author Vincent Blanchon <blanchon.vincent@gmail.com> * @license MIT */ class RemoteObjectFactory extends AbstractBaseFactory { /** * @var AdapterInterface */ protected $adapter; /** * @var \ProxyManager\ProxyGenerator\RemoteObjectGenerator|null */ private $generator; /** * {@inheritDoc} * * @param AdapterInterface $adapter * @param Configuration $configuration */ public function __construct(AdapterInterface $adapter, Configuration $configuration = null) { parent::__construct($configuration); $this->adapter = $adapter; } /** * @param string|object $instanceOrClassName * * @throws InvalidSignatureException * @throws MissingSignatureException * @throws \OutOfBoundsException */ public function createProxy($instanceOrClassName) : RemoteObjectInterface { $proxyClassName = $this->generateProxy( is_object($instanceOrClassName) ? get_class($instanceOrClassName) : $instanceOrClassName ); return $proxyClassName::staticProxyConstructor($this->adapter); } /** * {@inheritDoc} */ protected function getGenerator() : ProxyGeneratorInterface { return $this->generator ?: $this->generator = new RemoteObjectGenerator(); } }