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

Ulid Php Lib Laravel Package

not-empty/ulid-php-lib

A small PHP library for generating ULIDs—universally unique, lexicographically sortable identifiers combining a timestamp with random data. Provides simple APIs for creating, parsing, and validating ULIDs, making them a good fit for database keys and sortable IDs.

Deep Wiki
Context7

Product Decisions This Supports

  • Primary identifier strategy (build vs. buy vs. adopt-native): Informs the decision on whether to introduce ULIDs for new entities (orders, invoices, events, audit records, public-facing resource IDs) instead of auto-increment integers or UUIDv4. ULIDs give you lexicographic sortability, so IDs cluster by creation time — better B-tree insert locality than UUIDv4, and sortable without a separate created_at index.
  • Feature-level: Any roadmap item that needs "sortable, non-guessable, URL-safe IDs" — public API resource identifiers, idempotency keys, cursor pagination keys, event/message IDs in queued jobs, or export filenames.
  • Roadmap sequencing: If the team is planning a schema or API contract change (v2 endpoints, new service extraction, sharding/multi-writer setup), identifier format is a one-way door. This package is only relevant if you're choosing ULID and the framework can't already give it to you.
  • Buy vs. build: Laravel ships Str::ulid() natively (Laravel 9+). That makes this a "buy" candidate only for non-Laravel PHP services, legacy framework versions, or needs beyond generation (parsing, validation, timestamp extraction, monotonic-within-millisecond generation, ULID↔UUID conversion).
  • Risk/supply-chain governance: 21 stars, unknown repository, single-maintainer signal, and GPL-3.0 are all product-level risks, not just engineering ones — they affect distribution obligations and long-term maintenance cost.
  • Explicit non-decision: Unless a specific unmet need is identified, the defensible PM call is "use the framework primitive, don't add a dependency." Documenting that in the ADR is itself valuable.

When to Consider This Package

Consider it only if several of these hold:

  • You need ULID handling in a non-Laravel PHP service (or Laravel <9) where Str::ulid() isn't available.
  • You need operations the framework doesn't provide out of the box: strict parsing/validation of client-supplied ULIDs, extracting the embedded timestamp, converting ULID → UUID, or monotonic generation within the same millisecond.
  • You want a small, focused dependency rather than pulling in symfony/uid for a single function.
  • Your legal/procurement review clears GPL-3.0 — critical for distributed software, on-prem/self-hosted products, or SDKs. For a purely internal SaaS it's usually tolerable, but most orgs' dependency policy blocks copyleft by default; get a written ruling before adoption.
  • You've verified the repo (source, tests, CI, release cadence, security contact). The repository is listed as unknown here, which means you cannot complete due diligence from this listing alone — treat the 2026-01-26 release date as a single data point, not a maintenance guarantee.

Look elsewhere if:

  • You're on Laravel 9+ — use Str::ulid(); zero dependency, zero license surface.
  • You need UUIDv7 or a broader ID toolkit — symfony/uid (MIT) covers ULID, UUIDv4/v6/v7/v8, and is backed by a large maintainer base.
  • You need battle-tested UUID-only support — ramsey/uuid (MIT).
  • License compatibility is non-negotiable and GPL is disallowed — this alone disqualifies the package.
  • You require vendor-backed SLAs, security response commitments, or long-term support — a 21-star, unknown-repo package cannot offer that.
  • You need ULID support for PostgreSQL/MySQL native functions or DB-level defaults — that's a schema/migration concern, not a library one.

How to Pitch It (Stakeholders)

For executives (one paragraph): We're standardizing on sortable, non-sequential public identifiers for [orders / API resources / events]. ULIDs improve index performance versus random UUIDs and remove the enumeration risk of auto-increment IDs. However, Laravel already provides ULID generation natively, so the default recommendation is to use the framework and add no new dependency. This third-party library is a fallback for non-Laravel services or advanced parsing needs. It is small and low-cost, but it is a 21-star, single-maintainer project under GPL-3.0 — a copyleft license that can create obligations if we distribute software. Recommendation: no adoption without a legal ruling, and no adoption at all where the framework already covers us.

For engineering: Treat this as a narrowly-scoped utility, not an ID platform. If adopted, wrap it behind our own IdGenerator / IdParser interface so it's swappable for Str::ulid() or symfony/uid in a one-file change. Never let the raw package API leak into domain code or API contracts, and never persist ULIDs as VARCHAR without confirming binary/CHAR(26) or uuid-column tradeoffs with the DBA. Validate any client-supplied ULID at the boundary.

Ask being made: Approval to (1) standardize on ULIDs for [specific entity list], (2) use Str::ulid() as the implementation, and (3) hold this package as a documented fallback pending legal review of GPL-3.0. Decision owner: [Architecture/Platform lead]; legal sign-off: [Legal]; revisit only if a non-Laravel service or advanced parsing need materializes.

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.
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib