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

Templated Uri Router Laravel Package

ezsystems/templated-uri-router

A Symfony URL generator that outputs RFC 6570 templated URIs, letting you build links with placeholders like /demo{?page,sort*,filter*} from route parameters. It's a small, naive implementation that covers basic needs only.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Whether to expose URI templates in your public API. The package is a working (if minimal) demonstration of RFC 6570 output — /demo{?page,sort*,filter*} — which is exactly the shape of decision a PM faces when designing pagination, filtering, and sorting links for a hypermedia or discovery-driven API. Seeing a concrete generator makes that design conversation tractable.
  • Build vs. buy vs. borrow. With 1 star, 0 dependents, an archived repo, and a README that describes itself as "extremely naive, and incomplete," the honest buy-vs-build conclusion flips to borrow the spec, build the code. The MIT license makes that legally clean. This package is best treated as prior art and a conformance reference, not a dependency.
  • Standards-adoption calls. If your roadmap includes HAL, Siren, JSON:API-style links, OpenAPI links, or client-side SDK generation where clients fill in parameters, RFC 6570 is the underlying contract. This repo lets you prototype the contract in an afternoon and validate whether your consumers actually want expandable links versus plain URLs.
  • URL surface as a security and observability concern. Templated URIs change how you think about gateway allowlisting, cache keys, and analytics (a route is no longer one URL). Prototyping with a throwaway generator surfaces those downstream costs before they land in a platform roadmap.
  • Legacy platform disposition. It is a Symfony 2 artifact — a framework line that reached end of life in 2018 — and it has been re-homed at least once (Hautelook-authored, now published under the ezsystems namespace). If this appears anywhere in an estate audit, it belongs on the modernization backlog, not the dependency inventory.

When to Consider This Package

Consider it only in these narrow cases:

  • You need a fast, disposable way to see what RFC 6570 expansion looks like from Symfony-style route definitions, for a design spike or a conference-room demo.
  • You are writing your own template expander and want a second implementation to read against the spec — particularly to see how operator prefixes ({?}, {&}, {*}, {+}) map onto route parameters and array values.
  • You are producing a spec-conformance fixture or test corpus and need sample outputs.
  • You are deliberately vendoring code for a fully air-gapped legacy Symfony 2 system that will never be exposed, and you accept ownership of it.

Look elsewhere — or build — if any of the following is true:

  • You need it in production. Archived, unmaintained, self-described as incomplete, single-digit stars, no dependents. There is no security response path, no PHP 8 compatibility commitment, and a bus factor of zero.
  • You need full RFC 6570 coverage. The README is explicit that it is naive; treat Level 3/4 operator behavior as unverified until you test it yourself.
  • You are on a supported Symfony or modern PHP. The package targets Symfony 2's routing internals; the generator signature (new TemplateGenerator($routes, $context)) ties you to that era's API.
  • URLs are security-sensitive. Template expansion that touches redirect targets, signed URLs, or gateway allowlists needs a maintained library with an active advisory process.
  • You want a maintained alternative. Check the current landscape for actively maintained RFC 6570 expanders (the guzzle/uri-template-style libraries and their successors) before assuming you must write your own.
  • You read the "opportunity: 10.86" score as a signal. It is not a quality or readiness signal. Low-competition scoring in an abandoned niche is an opening for a maintained alternative — a market observation, not a procurement recommendation.

How to Pitch It (Stakeholders)

To executives: We evaluated this package and do not recommend adopting it. It is an archived, single-maintainer, self-described incomplete library built for a framework version that has been end-of-life since 2018, with essentially no user base. The strategic value is not the code — it is confirmation that RFC 6570 URI templates are a real, standardized option for our API link design. Recommendation: fund a small internal spike (days, not weeks) to validate the consumer benefit, then implement against a maintained library or in-house. Estimated adoption risk if we took the dependency anyway: unpatched vulnerabilities with no upstream to fix them, and an eventual forced migration — the same work, done later and under pressure.

To engineering: Treat this as a spec reference, not a dependency. Read Rfc6570Generator to understand how route parameters and array values map to template operators, then either adopt a maintained expander or write ~200 lines against RFC 6570 with the test vectors you actually need. The MIT license permits reuse of ideas and code, but if you vendor it you own it — including the PHP 8 and framework-upgrade work the original authors never did. One caveat worth flagging: the distribution namespace (ezsystems) differs from the README's origin (hautelook), so provenance has already changed hands once; verify licensing and origin before copying anything verbatim.

To product and design: The user-facing question this package lets us answer cheaply is whether our API should return one fixed URL per resource or a template clients fill in (pagination, sort, filter). Templates reduce payload size and give clients flexibility; they also complicate caching, gateway rules, and analytics. Prototype both, measure with two or three real integrators, and decide on evidence — the library itself is a prototyping tool at best, and should be deleted from the codebase once the decision is made.

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.
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels
wazza/laravel-db-encryption
hokny/laravel-generator
vonsogt/backup
jengo/queues
jeremykenedy/laravel-observability
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums