dbrekelmans/domain-driven-bundle
Pros:
symfony/console, symfony/http-client).Cons:
symfony/framework-bundle, twig-bundle, and routing/services.symfony/bridge) or manual DI container mapping for Laravel.Illuminate\Routing) won’t auto-load Symfony routes—custom middleware or service providers needed.composer.json conflicts if mixing Symfony/Laravel bundles).symfony/console, http-client)?spatie/laravel-symfony) offering better integration?composer.json for Symfony components. If none exist, skip adoption.composer require dbrekelmans/domain-driven-bundle.config/packages/domain_driven.yaml to match Laravel’s src/ structure.domain_driven:
directories:
context: '%kernel.project_dir%/app/Domains' # Laravel's custom path
application: 'Application'
domain: 'Domain'
infrastructure: 'Infrastructure'
presentation: 'Presentation'
symfony/bridge to resolve DI conflicts:
composer require symfony/bridge
// app/Providers/SymfonyBridgeServiceProvider.php
namespace App\Providers;
use Symfony\Component\HttpKernel\Kernel;
class SymfonyBridgeServiceProvider extends \Illuminate\Support\ServiceProvider {
public function register() {
$kernel = new Kernel('prod', false);
$kernel->boot();
// Load Symfony services/routes into Laravel container
}
}
routes/web.php:
Route::group(['middleware' => ['symfony.bridge']], function () {
// Symfony routes will be loaded here via the bridge
});
// config/twig.php
'paths' => [
app_path('Domains/*/Presentation/Resources/views'),
],
domain_driven.yaml.symfony/console commands).domain_driven.yaml manages all contexts.vendor/ (may conflict with Laravel’s autoloader).| Risk | Impact | Mitigation |
|---|---|---|
| Symfony 6.x incompatibility | Breaks Laravel-Symfony integration. | Fork and maintain; evaluate alternatives. |
| DI Container conflicts | Laravel services fail to load. | Use symfony/bridge or custom service providers. |
| Routing conflicts | Symfony routes override Laravel’s. | Isolate routes via middleware/namespacing. |
| Template conflicts | Twig/Blade clashes. | Use separate template paths or Blade-Twig bridges. |
| Abandoned package | No security updates. | Monitor for forks; plan for migration. |
How can I help you explore Laravel packages today?