Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Uuid Laravel Package

eve/uuid

eve/uuid is a lightweight Laravel package for UUID primary keys. It helps generate RFC-compliant UUIDs, assign them to Eloquent models, and use UUIDs in routes and database columns with minimal configuration. Simple setup and sensible defaults make UUID support easy to add.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for a solved primitive. UUID generation is not a differentiator. The real decision is whether to own a thin convenience layer in-house or take a dependency. This package is evidence that the convenience layer is small — it is described as a simple wrapper over ramsey/uuid, meaning the value-add is roughly a service provider, a facade, and config defaults, not algorithm work.
  • Framework-native vs. third-party ergonomics. Informs whether we standardize on Laravel's built-in Str::uuid() / Str::orderedUuid(), the HasUuids trait, and the native uuid validation rule — all of which have made the wrapper's original convenience rationale largely obsolete.
  • Identifier strategy roadmap. The decision this package touches (and should trigger) is the real one: auto-increment vs. UUID vs. ULID vs. UUIDv7 for primary keys, and the index-locality trade-off that comes with random v4 keys. A wrapper that may pin an older Ramsey major constrains which UUID versions we can adopt later.
  • Use-case prioritization. Where IDs actually show up in product surface: public-facing resource identifiers (no enumeration leakage), idempotency keys on write APIs, correlation/request IDs for observability, queue-worker and offline-first ID generation, blob/file naming, and event/message IDs.
  • Dependency portfolio hygiene. A 6-star, zero-dependent, single-release-since-2020 package is a portfolio decision, not an architecture decision — it informs the standing rule for what qualifies as an approved dependency.

When to Consider This Package

Adopt only under narrow, explicitly-acknowledged conditions:

  • You are on a legacy Laravel version (pre-Str::uuid() ergonomics) and want config-driven UUID version selection with a facade, in one line of setup.
  • You have already standardized on the Ramsey major it wraps, so it adds no transitive surface.
  • The convenience has been verified against your PHP/Laravel matrix rather than assumed — no release since November 2020 means PHP 8.x and Laravel 10/11+ compatibility is untested by the maintainer, not guaranteed.

Look elsewhere when:

  • You are on a modern Laravel. Str::uuid(), Str::orderedUuid(), Str::ulid(), HasUuids, and the uuid validation rule cover the wrapper's entire plausible surface with zero added dependency.
  • You need ordering or index performance. Go directly to ramsey/uuid ^4.7 (UUIDv7) or symfony/uid for ULID/UUIDv7 rather than through a stale intermediary that may cap the version.
  • You need a maintained supply chain. Zero dependents means no community canary; a single-maintainer wrapper with no recent release implies no coordinated security response. In audited or regulated contexts, this fails a standard dependency review regardless of code quality.
  • The convenience is the whole value. If a facade and a config file are the entire benefit, writing and testing that internally is roughly a one-day cost with no ongoing third-party risk.

How to Pitch It (Stakeholders)

To executives: This is a convenience shim over a library we would use anyway. It saves no measurable engineering time, has no adoption (zero dependents), and hasn't shipped since 2020. The downside is an unmaintained dependency in our stack with no one contractually or reputationally on the hook to patch it. Recommendation: no-go — take ramsey/uuid directly, or use Laravel's built-in helpers, which now cover the same ground.

To engineering: Baseline is ramsey/uuid. If teams want a facade or config-driven version selection, we own a ~30-line internal helper with our own tests instead of importing an unmaintained wrapper. The wrapper's only real risk is that it silently pins us to an older Ramsey major, blocking UUIDv7 when we need time-ordered keys for index locality.

Revisit criteria (make the no-go falsifiable): reopen if the maintainer resumes releases with declared support for current PHP/Laravel, if our own teams hit repeated wiring duplication across services, or if a compliance requirement forces a facade-style abstraction. Absent that, this stays out of the approved dependency list.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
gmostafa/php-graphql-client
xeviant/paystack
snowsoft/faker
meditationsteps/blogetc
animalyoung/laravel-influxdb
onix-solutions/sms-telera
lonely-lights/prosetta
oxygen/data
oxygen/core
jengo/base
xiloryx/log-collector
a21ns1g4ts/filament-stripe
la-php/laravel-admin
artisan-build/community-prompts
vleroy/smart
ayles-software/laravel-australian-public-holidays
cboxdk/laravel-id-spatie
cboxdk/laravel-id-billing
cboxdk/laravel-id-billing-bridge
simple-as-fuck/php-performance-log