1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
<?php
declare(strict_types=1);
namespace ProxyManagerTestAsset;
use BadMethodCallException;
use ProxyManager\Proxy\GhostObjectInterface;
use ProxyManager\Proxy\VirtualProxyInterface;
/**
* Base test class to catch instantiations of lazy loading objects
*
* @author Marco Pivetta <ocramius@gmail.com>
* @license MIT
*/
class LazyLoadingMock implements VirtualProxyInterface, GhostObjectInterface
{
/**
* @var callable
*/
public $initializer;
/**
* @param callable $initializer
*
* @return static
*/
public static function staticProxyConstructor($initializer) : self
{
$instance = new static();
$instance->initializer = $initializer;
return $instance;
}
public function setProxyInitializer(?\Closure $initializer = null) : void
{
$this->initializer = $initializer;
}
public function getProxyInitializer() : ?\Closure
{
return $this->initializer;
}
public function initializeProxy() : bool
{
// empty (on purpose)
return true;
}
public function isProxyInitialized() : bool
{
return true;
}
/**
* {@inheritDoc}
*
* @throws BadMethodCallException
*/
public function getWrappedValueHolderValue() : ?object
{
// we're not supposed to call this
throw new BadMethodCallException('Not implemented');
}
}
|