This library aims to provide abstraction for generating various kinds of proxy classes.
You can learn about the proxy pattern and how to use the ProxyManager in the docs, which are also compiled to HTML.
Professionally supported ocramius/proxy-manager is available through Tidelift .
You can also contact the maintainer at [email protected] for looking into issues related to this package in your private projects.
The suggested installation method is via composer:
php composer.phar require ocramius/proxy-managerHere's how you build a lazy loadable object with ProxyManager using a Virtual Proxy
$factory = new \ProxyManager\Factory\LazyLoadingValueHolderFactory();
$proxy = $factory->createProxy(
\MyApp\HeavyComplexObject::class,
function (& $wrappedObject, $proxy, $method, $parameters, & $initializer) {
$wrappedObject = new \MyApp\HeavyComplexObject(); // instantiation logic here
$initializer = null; // turning off further lazy initialization
}
);
$proxy->doFoo();See the online documentation for more supported proxy types and examples.







