tourze/symfony-aop-doctrine-bundle
A Symfony bundle that brings AOP to Doctrine, letting you intercept repository and entity operations with aspects for cleaner cross-cutting concerns like logging, caching, and access control—without scattering code across your persistence layer.
tourze/symfony-aop-doctrine-bundle is a Symfony bundle, not a Laravel package — there is no service provider, no config/*.php to publish, and no php artisan surface. It wires Tourze's AOP layer (tourze/aop) into Doctrine so that calls on Doctrine-backed services/repositories can be intercepted by aspects. As a Laravel developer you'll typically meet it in one of three situations: a Doctrine-based sub-application embedded in a Laravel app, a migration off Symfony, or as a reference implementation for the same pattern using Laravel's container decorators.
Steps to get oriented:
composer require tourze/symfony-aop-doctrine-bundle:^1.0 and read the emitted composer.json constraints — the real contract is PHP version, symfony/* major, doctrine/orm/doctrine/doctrine-bundle, and tourze/aop. Those constraints tell you more about compatibility than the release notes do.DependencyInjection/*Extension.php (what services/config it defines), and the CompilerPass (where weaving/proxying is actually hooked into Doctrine). The compiler pass is the heart of the package and the file you'll debug against.bundles.php (or your minimal Symfony kernel). Ordering matters relative to DoctrineBundle, since the pass needs Doctrine's metadata/proxy services to exist.If you're staying pure Laravel, this bundle will not drop in. You'd either use tourze/aop directly with a hand-rolled container decorator, or wrap repository calls in a middleware/decorator pattern instead.
1.0.0...1.0.1 compare link. Pin 1.0.1 exactly, and run composer diff/the GitHub compare before upgrading anything else — you cannot infer the change surface from the version number alone.vendor:publish, facades, or config merging. Any configuration is Symfony bundle config under the bundle's root key in config/packages/*.yaml.final classes, private/static methods, and methods called via self::/new bypass weaving. Nothing throws — the aspect simply never runs. When an aspect "isn't working," check these before checking the container.bundles.php.bin/console debug:container --tag=<aspect-tag> to confirm your aspects are tagged, debug:container <service> to confirm the service is decorated, and bin/console cache:clear between attempts — container changes are invisible without a rebuild.Caveat: this assessment is based on the package name, its Symfony/Doctrine/AOP dependency surface, and the 1.0.1 release (which carries no descriptive notes). Verify tag names, config keys, and minimum Symfony/Doctrine versions against the installed composer.json and the bundle's DependencyInjection directory before relying on them.
How can I help you explore Laravel packages today?