baks-dev/drom-board) is a Drom.ru-style classifieds board module, targeting ad listings, user interactions (e.g., favorites, messaging), and moderation workflows. It fits well in Laravel-based marketplaces, classifieds platforms, or e-commerce extensions requiring structured ad management.Bundle class; Laravel’s ServiceProvider can extend or replace it./ads/*). Conflict resolution will be needed if the Laravel app already has /ads endpoints.EventDispatcher can be wrapped in Laravel’s event system or replaced with Laravel’s Event facade.| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| Symfony-Laravel Gap | High | Abstract Symfony dependencies (e.g., DI, Events) into Laravel-compatible interfaces. |
| Routing Conflicts | Medium | Prefix bundle routes (e.g., /drom/*) or override Laravel’s router. |
| View Engine Mismatch | Medium | Use Blade for all templates or build a Twig-to-Blade compiler. |
| Doctrine vs. Eloquent | Medium | Create a data mapper or use Eloquent models with Doctrine annotations. |
| PHP 8.4+ Requirement | Low | Upgrade Laravel app or use a PHP 8.4-compatible container. |
| Undocumented APIs | High | Conduct reverse-engineering of the bundle’s internals via tests and source. |
| Testing Gaps | Medium | Extend the existing phpunit --group=drom-board tests with Laravel-specific scenarios. |
spatie/laravel-package-tools (for publishing assets/config).laravel/sail (if Docker is needed for PHP 8.4+).symfony/http-kernel (if using Symfony’s HTTP layer).symfony/console (for CLI commands).tightenco/ziggy (if using Twig for SPA routing).beberlei/doctrine-extensions).baks-dev/drom-board and baks-dev/core (required dependency).class DromBoardServiceProvider extends ServiceProvider {
public function register() {
$this->mergeConfigFrom(__DIR__.'/../config/drom-board.php', 'drom-board');
// Override Symfony DI with Laravel bindings
}
}
routes/web.php:
Route::prefix('drom')->group(function () {
Route::get('/ads', [DromBoardController::class, 'index']);
});
Auth::provider('drom', function () {
return new DromUserProvider();
});
php-twig/bridge (if available).@twig('drom-board::ads/list.twig', ['ads' => $ads])
phpunit --group=drom-board tests with Laravel-specific assertions.| Component | Compatibility Status | Workaround |
|---|---|---|
| Symfony Bundle | Low | Wrap in Laravel ServiceProvider |
| Doctrine ORM | Medium | Eloquent adapter or data mapper |
| Twig Views | Medium | Blade directives or template conversion |
| Event System | Medium | Laravel Event facade wrapper |
| Routing | Low | Prefix routes or override |
| Security | Medium | Custom user provider bridge |
/drom/* routes.baks-dev/core (v7.4), which may introduce hidden dependencies.How can I help you explore Laravel packages today?