composer require lookyman/nette-proxy
extensions: proxy: Lookyman\Nette\Proxy\DI\ProxyExtension proxy: proxyDir: %appDir%/../temp/proxies # this is the default value default: off # turn on to proxy everything
Tag services with
lookyman.lazy and they get magically proxied.
services: - class: MyHeavyService tags: [lookyman.lazy]
If you have
proxy.default turned on and you don't want a particular service to be proxied, you can do it like this:
services: - class: DontProxyMeService tags: [lookyman.lazy: off]
Proxying certain Nette services is automaticaly disabled due to known limitations.
Proxy generation causes I/O operations and uses a lot of reflection, so it is handy to have them pre-generated before the application starts. For this, install Kdyby/Console and run:
php www/index.php lookyman:nette-proxy:generate