danieltoader / proxy-manager
2.15.1
2023-01-11 15:30 UTC
Requires
- php: ~8.0.0|~8.1.0
- composer-runtime-api: ^2.1.0
- laminas/laminas-code: ^4.4.2
- webimpress/safe-writer: ^2.2.0
Requires (Dev)
- ext-phar: *
- doctrine/coding-standard: ^9.0.0
- phpbench/phpbench: ^1.0.3
- phpunit/phpunit: ^9.5.6
- roave/infection-static-analysis-plugin: ^1.8
- squizlabs/php_codesniffer: ^3.6.0
- vimeo/psalm: ^4.8.1
Suggests
- laminas/laminas-json: To have the JsonRpc adapter (Remote Object feature)
- laminas/laminas-soap: To have the Soap adapter (Remote Object feature)
- laminas/laminas-xmlrpc: To have the XmlRpc adapter (Remote Object feature)
- ocramius/generated-hydrator: To have very fast object to array to object conversion for ghost objects
Conflicts
- thecodingmachine/safe: <1.3.3
This package is auto-updated.
Last update: 2023-01-11 15:41:32 UTC
README
此项目已被存档,不再处于活跃维护状态。您可以使用:https://github.com/FriendsOfPHP/proxy-manager-lts
Proxy Manager
给俄罗斯人的信息
如果您目前居住在俄罗斯,请阅读 此信息。
目的
此库旨在为生成各种类型的 代理类 提供抽象。
文档
您可以在 文档 中了解代理模式以及如何使用 ProxyManager。
ocramius/proxy-manager for enterprise
作为 Tidelift 订阅的一部分提供。
ocramius/proxy-manager 的维护者以及其他成千上万的包维护者正在与 Tidelift 合作,为构建应用程序时使用的开源依赖项提供商业支持和维护。节省时间,降低风险,并提高代码质量,同时支付您实际使用的依赖项的维护者。了解更多信息:点击这里。
您还可以通过 ocramius@gmail.com 联系维护者,以解决您私有项目中与此包相关的问题。
安装
建议的安装方法是使用 composer。
php composer.phar require ocramius/proxy-manager
代理示例
这是使用 虚拟代理 通过 ProxyManager 构建可延迟加载对象的示例
$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 return true; // report success } ); $proxy->doFoo();
有关更多支持的代理类型和示例,请参阅 文档。