- Can I use **baks-dev/delivery** with Laravel 11 or 12 without PHP 8.4?
- No, the package requires PHP 8.4+. For Laravel 11 (PHP 8.3), use Docker to isolate the package or fork it to drop the PHP 8.4 constraint. The changes are minimal if you only need to adjust the `composer.json` constraints.
- How do I avoid Doctrine ORM conflicts with Laravel’s Eloquent?
- Use **doctrine/dbal** for migrations only, or create a hybrid layer with repositories mapping Doctrine entities to Eloquent models. Alternatives include treating the package as a read-only API or manually syncing schemas to Laravel migrations.
- Does **baks-dev/delivery** support multi-carrier integrations (e.g., FedEx, DHL)?
- The package includes a **delivery-transport** module for carrier support, but you may need to extend it with Laravel-specific adapters (e.g., using Shippo or custom integrations). Check the `delivery-transport` docs for extensibility hooks.
- How do I install and configure this package in Laravel?
- Run `composer require baks-dev/delivery baks-dev/delivery-transport`, then execute `php bin/console baks:assets:install` for config/assets. Replace Symfony’s `bin/console` with Laravel’s Artisan by binding the commands in `AppServiceProvider`.
- Will this package slow down my Laravel app due to Doctrine queries?
- Performance depends on usage. Benchmark delivery status updates and transport assignments in staging. If bottlenecks occur, optimize with DBAL queries or cache frequent reads. Avoid full Doctrine ORM usage in production.
- Is there a way to use this package without Doctrine ORM?
- Yes, treat it as a service layer via REST API or use **doctrine/dbal** for migrations only. For Eloquent-only workflows, create a facade wrapping the package’s core logic while ignoring Doctrine entities.
- How do I handle Russian documentation if my team doesn’t speak Russian?
- Pair with a Russian-speaking developer or translate critical paths (e.g., setup commands, key classes). The GitHub repo and CHANGELOG may also help. Focus on the English-friendly parts of the codebase first.
- Can I integrate this with Laravel’s event system?
- Yes, bridge Symfony events to Laravel’s events using a service like `SymfonyEventBridge.php`. Listen to `delivery.*` events in Laravel’s `EventServiceProvider` and dispatch them via the package’s event system.
- What’s the best way to handle database migrations if the package uses Doctrine?
- Use **DBAL** for package migrations and manually sync schemas to Laravel migrations. Alternatively, automate the `baks:assets:install` command in Laravel’s `post-install-cmd` to run Doctrine migrations during deployment.
- Are there alternatives to **baks-dev/delivery** for Laravel?
- For Laravel-specific solutions, consider **spatie/laravel-delivery** (simpler) or **laravel-shop**’s built-in delivery modules. If you need DDD-style workflows, evaluate **orchid/software** or build a custom module using Laravel’s service container.