edrush/extbaser
Laravel package providing Baseer-related integrations and utilities, offering helper classes and configuration to speed up common workflows. Lightweight and easy to drop into existing apps for basic setup, requests, and shared functionality.
Core Use Case Alignment:
The package (edrush/extbaser) remains TYPO3 Extbase-specific, now explicitly targeting ExtensionBuilder.json generation (TYPO3’s module/relation configuration format). This is even less aligned with Laravel’s architecture, as:
ExtensionBuilder.json).wires in Extbase) has no equivalent in Laravel’s middleware/pipeline system.Database-First vs. Code-First:
The new feature deepens the database-first paradigm, which remains misaligned with Laravel’s code-first migrations and Eloquent model conventions. Generating ExtensionBuilder.json is irrelevant to Laravel’s workflow, where:
app/Models/).routes/api.php (not JSON files).belongsTo, hasMany) rather than Extbase’s wires.Legacy Dependency:
The package still relies on TYPO3’s core abstractions (e.g., TYPO3\CMS\Extbase\Domain\Model\*), which are incompatible with Laravel’s:
Illuminate\Container, Extbase uses TYPO3’s DI).extbase routing vs. Laravel’s router.php).SignalSlot vs. Laravel’s middleware stack).Direct Integration:
Still not feasible. The new ExtensionBuilder.json output is TYPO3-specific and would require:
routes/api.php or app/Http/Controllers/ structure.wires (e.g., module dependencies) to Laravel’s service providers or event listeners.Indirect Use Cases:
ExtensionBuilder.json conversion could inspire a Laravel migration script, but the output format is not directly useful. Example workflow:
ExtensionBuilder.json from the schema.php artisan make:model + schema:dump to generate Eloquent models.wires to Laravel’s dependency injection or event system.routes/api.php, app/Models/), but this would require a complete refactor (not a drop-in replacement).Dependency Conflicts:
PSR-0/PSR-4 autoloading clashes with Laravel’s composer autoload.TYPO3\CMS\Extbase\Domain\Model\AbstractEntity would conflict with Laravel’s Illuminate\Database\Eloquent\Model.| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| Framework Incompatibility | Critical | Avoid direct use; treat as reference for schema parsing only. |
| Irrelevant Output Format | High | ExtensionBuilder.json is TYPO3-only; discard or translate manually. |
| Maintenance Overhead | Critical | Package is abandoned; security/bug risks escalate with TYPO3 dependencies. |
| Schema Parsing Logic | Medium | Extract logic into a Laravel-compatible library (e.g., using doctrine/dbal). |
| Team Ramp-Up | High | Requires TYPO3/Extbase expertise to understand ExtensionBuilder.json and wires. |
| Long-Term Viability | Critical | No path to native Laravel integration; better to use Laravel’s built-in tools. |
Business Justification:
ExtensionBuilder.json generation needed in a Laravel context? Is the goal to migrate from TYPO3 to Laravel, or maintain a hybrid system?Illuminate\Validation + Illuminate\Database\Eloquent).Schema Evolution Strategy:
php artisan make:model for new development.Alternative Tools:
laravel-shift/database-dump, doctrine/dbal.php artisan make:controller + routes/api.php.php artisan extbase:generate)?Migration Scope:
Team Capabilities:
ExtensionBuilder.json) is TYPO3-specific and irrelevant to Laravel’s:
routes/web.php/routes/api.php (not JSON files).wires ≠ Laravel’s middleware stack.bind()/singleton().ExtensionBuilder.json output is useless).php artisan make:model.wires to Laravel’s service providers or events.Option 1: Schema Introspection Only (Low Risk)
edrush/extbaser to generate ExtensionBuilder.json from the schema.php artisan schema:dump to generate Laravel migrations.php artisan make:model to create Eloquent models.wires (module dependencies) to Laravel’s:
doctrine/dbal, laravel-shift/database-dump.Option 2: Custom Laravel Schema Generator (High Effort)
doctrine/dbal for schema inspection (instead of Extbase’s mapper).app/Models/ (Eloquent models).routes/api.php (API endpoints).app/Providers/ (service bindings).How can I help you explore Laravel packages today?