doctrine/dbal or laravel-doctrine packages for hybrid PHP ecosystems.php artisan), reducing friction for developers familiar with Artisan commands.spatie/laravel-symfony).illuminate/database + doctrine/dbal).spatie/laravel-package-tools).spatie/laravel-symfony).php bin/console vs. php artisan).// Laravel Service Provider
public function register() {
$this->app->singleton('zgw.schema.manager', function () {
return new \CommonGateway\ZGWStuffBundle\Manager(); // Symfony service
});
}
doctrine/dbal for database-agnostic queries to avoid conflicts with Eloquent.config/database.php to use DBAL for specific connections.// app/Console/Kernel.php
protected $commands = [
\CommonGateway\ZGWStuffBundle\Command\InstallCommand::class,
];
flex vs. Laravel’s sail/valet may cause friction.composer.json or monorepo setups (e.g., Laminas, Breeze).error_log vs. Laravel’s monolog).symfony/cache) alongside Laravel’s filecache/redis.| Risk | Impact | Mitigation |
|---|---|---|
| Symfony version mismatch | Breaks Laravel compatibility | Pin Symfony versions in composer.json |
| Doctrine/Eloquent conflicts | Data corruption or query errors | Use DBAL for read-only operations; avoid ORM mixing |
| Command-line collisions | php artisan vs. php bin/console conflicts |
Alias commands or namespace them (e.g., zgw:install) |
| Plugin isolation failure | Bundle leaks into Laravel core | Use strict dependency injection and interface contracts |
How can I help you explore Laravel packages today?