kherge/uuid-bundle
kherge/uuid-bundle is a Symfony bundle that integrates UUID generation into your application, providing services and configuration for producing unique identifiers for entities, records, and other data without writing boilerplate code.
ramsey/uuid for the library, symfony/uid for Symfony-native Uuid/Ulid types, or a thin custom service provider in Laravel).config/uuid.php. In a Laravel codebase it would at best be an unused library dependency; the bundle wiring (DI extension, services.xml) is dead weight. This should be recorded in the build-vs-buy matrix as "incompatible by architecture," not "low quality."UuidGenerator interface bound in a service provider; do not copy the code or its Symfony 2 idioms.Adoption criteria — all of which must hold, and in practice none do today:
Look elsewhere when:
ramsey/uuid or Laravel's native HasUuids / HasUlids traits; there is no reason to bridge a Symfony bundle.symfony/uid, which is first-party and maintained.For executives: This is a 2-star, archived Symfony 2 add-on with zero downstream users. It solves a real problem (using UUIDs as primary keys) but does so on a framework generation that has been unsupported for years, and it does not fit our Laravel stack at all. Recommendation: do not adopt. The UUID decision itself is still worth making, and we can satisfy it with first-party/actively maintained libraries at negligible cost — roughly a day of engineering, no new vendor risk, no maintenance obligation.
For engineering: The package is a Symfony 2 bundle wrapping a UUID library via DI configuration. In Laravel it contributes nothing — no service provider, no config surface — so "adopting" it means adding an unmaintained transitive dependency and writing our own wiring anyway. Use ramsey/uuid (or symfony/uid if we ever add Symfony components) behind a small UuidGenerator interface bound in a service provider, and use Laravel's HasUuids/HasUlids model traits where the ORM should own ID generation. If we want the bundle's design intent, mirror the pattern — generator as an injected service, domain requests IDs rather than the ORM — not the code.
One-line ask: Approve closing this evaluation as "rejected — archived, wrong framework generation, incompatible with Laravel," and log the UUID-as-primary-key decision as a separate, still-open product question.
How can I help you explore Laravel packages today?