- Is rami/entity-kit-bundle a Laravel package?
- No. rami/entity-kit-bundle is a Symfony bundle built for Doctrine ORM, not a Laravel package. It ships a Symfony Bundle class and a DI extension that wires Doctrine event subscribers and entity traits, with no Laravel service provider or Eloquent integration. Treat it as out of scope for a Laravel-first codebase unless you are intentionally running Doctrine inside Laravel.
- Can I use EntityKitBundle with Laravel and Eloquent?
- There is no native Laravel or Eloquent integration. Using it would require running Doctrine ORM in Laravel through a third-party bridge and reimplementing the bundle's Symfony container wiring, or forking the traits to rebuild the behavior layer on Eloquent model events. Both are net-new engineering rather than integration. For Eloquent models, prefer Laravel-native packages or a small internal trait package.
- How do I install EntityKitBundle in a Symfony app?
- In a Symfony application, install it with Composer, register the bundle in your bundle configuration, and apply the provided traits or attributes to Doctrine entities. Confirm the supported PHP, Doctrine ORM, and DBAL versions from composer.json before pinning anything. Start with one pilot entity and verify generated schema plus listener ordering before rolling it out.
- What features does EntityKitBundle provide?
- The bundle provides modular, composable traits and attributes for common Doctrine entity behaviors such as timestamps, slugging, and auditing. The goal is to reduce boilerplate in entity definitions and lifecycle handling. It is described as a growing collection, so verify exactly which behaviors exist in the version you evaluate.
- Does EntityKitBundle support Doctrine ORM 3 and DBAL 4?
- The provided evaluation does not confirm Doctrine ORM 3 or DBAL 4 support, and it explicitly flags version-compatibility exposure because those releases changed listeners and attribute mapping. Do not pin the package until you have checked composer.json constraints and CI coverage. Test it in a branch against your exact ORM and DBAL versions.
- What Laravel alternatives exist for slugs, timestamps, and auditing?
- For Laravel, the mature equivalents are spatie/laravel-sluggable for slugs, framework timestamps and model observers for created_at and updated_at, and owen-it/laravel-auditing for change history. These packages have far more production evidence and fit Eloquent directly. If your team wants attribute-driven ergonomics, implement a thin internal trait package on top of Eloquent events.
- How does EntityKitBundle handle slug uniqueness collisions?
- Slug collision handling is not documented in the evaluation context, so retry, suffix, or exception behavior is unverified. Inspect the source or ask the maintainer before relying on it in production. In a Laravel app you would normally use a package with documented collision strategies instead.
- Is EntityKitBundle safe for production use?
- Production risk is substantial for a Laravel service: the package has about 10 stars, zero dependents, a single author, and a last-release date that looks like a metadata artifact. The MIT license removes legal friction but not continuity or validation risk. In a Symfony/Doctrine service it is a reasonable pilot candidate, but not something to adopt blindly.
- How are timestamps and audit logs implemented in EntityKitBundle?
- The bundle registers Doctrine event subscribers and listeners through its Symfony DI extension, and entity classes acquire behavior via traits and attributes. That means updatedAt and slug changes can happen implicitly during Doctrine lifecycle callbacks, which makes trait collisions and flush batching worth testing. Audit recursion safety and acting-user capture are not confirmed by the provided evaluation.
- Is there an Eloquent port or Laravel adapter for EntityKitBundle?
- No Eloquent port or Laravel adapter is published, and the package contains no Laravel service provider. There is no evidence in the evaluation context of a planned port. For Laravel, build or adopt an Eloquent-native implementation instead of waiting for one.