axstrad/doctrine-extensions-bundle
illuminate.query).doctrine/orm: ~2.3 is outdated (Laravel uses Doctrine DBAL but not full ORM).symfony/symfony: >=2.3 <2.7 is incompatible with Laravel’s stack.spatie/laravel-activitylog (for soft deletes/auditing).retrieved, saved) for custom logic.doctrine/dbal) for raw SQL operations.SoftDeletes, Timestamps).
Example:
use Illuminate\Database\Eloquent\Model;
trait SoftDeletes {
protected $dates = ['deleted_at'];
public function scopeSoftDeleted($query) { ... }
}
cviebrock/eloquent-sluggable) for specific needs.| Extension | Laravel Equivalent/Adaptation | Notes |
|---|---|---|
| SoftDelete | Eloquent SoftDeletes trait | Native support in Laravel 5.1+ |
| Timestampable | Eloquent created_at, updated_at |
Built-in |
| Sluggable | spatie/laravel-sluggable |
More robust than manual implementation |
| Tree Structures | spatie/laravel-medialibrary (for trees) |
Or custom recursive queries |
| Audit Logs | spatie/laravel-activitylog |
Better than rolling your own |
EntityManager → Laravel’s DB facade or Eloquent ORM.spatie/*).axstrad/* packages; prefer standalone solutions.| Risk | Mitigation Strategy |
|---|---|
| Extension logic fails in Laravel | Unit test adapted traits/observers thoroughly. |
| Doctrine-specific bugs | Avoid using the bundle; rewrite logic. |
| Performance degradation | Profile with Laravel’s DB::enableQueryLog(). |
| Team burnout | Limit scope; prioritize MVP features. |
| Vendor lock-in | Prefer Laravel-native packages long-term. |
## Custom Sluggable Trait for Laravel
```php
trait Sluggable {
public static function bootSluggable() {
static::creating(function ($model) {
$model->slug = Str::slug($model->title);
});
}
}
How can I help you explore Laravel packages today?