Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Proxy Manager Bridge

Proxy Manager Bridge Laravel Package

symfony/proxy-manager-bridge

Symfony bridge for ProxyManager that generates virtual proxies and lazy-loading services. Integrates proxy creation with the Symfony DependencyInjection container to improve performance and enable on-demand instantiation of expensive services.

View on GitHub
Deep Wiki
Context7

Provides integration for ProxyManager with various Symfony components

Frequently asked questions about Proxy Manager Bridge
Can I use symfony/proxy-manager-bridge in Laravel to lazy-load Doctrine entities like Symfony does?
Yes, this bridge enables ProxyManager’s lazy-loading capabilities in Laravel, just like in Symfony. Replace Doctrine’s default ProxyTrait with ProxyManager for advanced features like runtime method interception or ghost objects, reducing memory usage for large entity graphs. Ensure you’re using ProxyManager v3+ for full compatibility.
What’s the minimum Laravel/Symfony version required for this package?
The bridge requires Symfony components (e.g., HttpClient, DependencyInjection) that Laravel shares, so it works with Laravel 8+ (Symfony 5.4+) or higher. For full ProxyManager v3 features, ensure your Laravel app uses Symfony 6.x or 7.x. Check your `composer.json` for version constraints.
How do I configure ProxyManager to intercept specific methods in a Laravel service?
Define proxies in a YAML config (e.g., `config/proxy_manager.yaml`) under `proxy_manager: proxies:` with method-level interception. For example, to log calls to a `Logger` service, specify `methods: ['log']`. The bridge integrates with Laravel’s service container via compiler passes, so no manual proxy generation is needed.
Will this package work with Laravel’s built-in HTTP client or do I need Symfony’s HttpClient?
The bridge is designed for Symfony’s HttpClient, but you can use it alongside Laravel’s HTTP client by wrapping it in a Symfony-compatible service. For dynamic request/response interception (e.g., retries, caching), ProxyManager excels—just ensure your Laravel app includes the `symfony/http-client` package as a dependency.
Does using ProxyManager affect unit testing in Laravel?
Proxies can complicate tests if not handled carefully. Use ProxyManager’s `ProxyQuery` to generate mocks or stubs explicitly, or disable proxies for specific services in test environments via config. For Doctrine entities, consider using `createProxy()` or `getManager()->getProxy()` in tests to avoid lazy-loading issues.
Is there a performance overhead to using ProxyManager in Laravel compared to Symfony’s ProxyTrait?
ProxyManager offers finer control (e.g., ghost objects, method interception) but may introduce slight overhead due to runtime proxy generation. Benchmark your use case—lazy-loading Doctrine entities or HTTP clients often shows improvements, while AOP-like behavior (e.g., logging) adds minimal cost. Symfony’s ProxyTrait is simpler but less flexible.
Can I use this bridge to replace Laravel’s service container decorators or middleware?
Yes, ProxyManager can decorate services dynamically, similar to Laravel’s decorators, but with more power. For example, wrap a `Cache` service to intercept `get()` calls for logging. However, middleware remains the idiomatic choice for HTTP request/response cycles—ProxyManager shines for service-level or Doctrine-specific logic.
What alternatives exist to ProxyManager in Laravel for lazy-loading or AOP?
For lazy-loading, Laravel’s `ProxyTrait` (via Doctrine) or PHP 8’s `Attribute` system (for custom logic) are lighter options. For AOP, consider packages like `brick/math` (for interceptors) or `goaop/framework` (PHP AOP). ProxyManager is best when you need deep integration with Symfony components like HttpClient or EventDispatcher.
How do I handle circular dependencies when using ProxyManager in Laravel?
ProxyManager itself doesn’t cause circular dependencies, but proxied services might. Use Laravel’s `private: true` in service definitions or leverage Symfony’s `autowire: true` with `public: false` to break cycles. For Doctrine entities, ensure your entity mappings don’t create circular references in proxy generation.
What’s the migration path if I’m already using Doctrine’s ProxyTrait in Laravel?
Audit your proxy-heavy components (e.g., Doctrine entities, custom services) and replace them incrementally. Start with non-critical services, then migrate Doctrine entities by updating `orm.xml` or annotations to use ProxyManager’s `ProxyInterface`. Test thoroughly—ProxyManager’s lazy-loading behavior differs slightly from Doctrine’s default proxies.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor