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

Pjax Bundle Laravel Package

strontium/pjax-bundle

PJAX support for Symfony applications. This bundle adds middleware and Twig helpers to load page fragments via AJAX, update the URL and browser history, and enable faster navigation without a full SPA. Includes configurable selectors, request headers, and progressive enhancement for non-JS users.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Correction to the brief first: this is not a Laravel package. It is a Symfony 2 bundle (StrontiumPjaxBundle) that wires defunkt/jquery-pjax into Symfony 2's templating layer. It cannot be installed into a Laravel app. Any Laravel-side discussion of this package is moot — the relevant question becomes "what is the Laravel equivalent," which is Livewire, Inertia, or htmx.
  • Front-end interaction strategy for a legacy Symfony estate. The only genuine decision this informs is whether a frozen Symfony 2.x application should add partial-page navigation to reduce perceived load time without a front-end rewrite. That is a real, narrow, time-boxed decision.
  • Build vs. buy, and the answer is "build." PJAX is the ancestor of the pattern now served by htmx, Hotwire Turbo, and Laravel Livewire. Adopting a 3-star, 0-dependent bundle to implement a pattern with three actively maintained successors is a clear build-on-modern-tooling call.
  • Roadmap framing for a "make the app feel faster" initiative. This package is useful as a reference point, not a dependency: it lets you price the cheap-but-dead-end option against the slightly larger htmx/Turbo option, so the roadmap item gets scoped correctly the first time.
  • Risk register entry. A dependency on Symfony 2 (EOL November 2018) plus jquery-pjax (effectively unmaintained since ~2015) means no security patches, no PHP 8 support, and no upgrade path. That is a standing liability, not a feature decision.
  • Not supported: any greenfield work, any Symfony 3+ application, any product with a security or compliance review. Score 0.205, 3 stars, 0 dependents is not a quality judgment in itself, but it does mean zero community validation, zero upstream maintenance, and zero Stack Overflow surface area — you will own every bug.

When to Consider This Package

Consider it only if all of the following hold:

  • You maintain a Symfony 2.x application that is deliberately frozen — no framework upgrade funded this fiscal year.
  • The user-facing problem is specifically slow full-page navigations, and partial-page swapping would materially move a metric (bounce rate, time-to-interactive on list/detail flows).
  • The existing front end is jQuery-based, so PJAX's assumptions already fit.
  • The scope is a handful of routes, and you are prepared to vendor the code into your repo rather than depend on Packagist — because upstream will not patch it.
  • You accept that this is a stopgap with a scheduled removal date, and you will document that date.

Look elsewhere — decisively — when:

  • The target is Laravel. The package is inert here. Use Livewire for component-level reactivity, Inertia for SPA-shaped apps, or htmx for progressive enhancement.
  • The target is Symfony 3, 4, 5, 6, or 7. Use Symfony UX Turbo, which is the first-party, maintained successor to exactly this idea.
  • You are starting anything new. htmx or Turbo deliver the same "swap a fragment of HTML over the wire" behavior with active maintenance, modern docs, and no jQuery requirement.
  • You have a security review, an accessibility audit, or a browser-support matrix. PJAX-style navigation has well-known pitfalls with focus management, history state, and screen-reader announcements; the modern libraries have already absorbed those lessons.
  • You need a support contract or an SLA. There is no one to call.

How to Pitch It (Stakeholders)

To executives: We evaluated a package that promised faster page transitions for very little engineering effort. It does deliver that — but only for Symfony 2, a framework version that stopped receiving security updates in 2018, and it depends on a front-end library that has been unmaintained for roughly a decade. The realistic outcome is not "cheap win," it is "cheap win plus a new unpatched dependency we can never upgrade." The same user-visible improvement is available from maintained tooling at modestly higher cost. Recommendation: do not adopt; fund the modern equivalent instead.

To engineering: This is a thin Symfony 2 bridge over jquery-pjax. Two stars of risk: the framework is EOL, the JS library is abandoned, and there are three actively maintained successors (htmx, Turbo, Livewire) that solve the same problem better. Pulling this in means vendoring it, owning it, and scheduling its removal. If we have a frozen Symfony 2 app where perceived performance is genuinely costing us users, it is worth a one-day spike to prove the concept and a one-week plan to do it with Turbo. Otherwise, close it out.

One-line version: Right idea, ten years too late — the pattern is worth adopting, this particular implementation is not.

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.
ippanelcom/laravel-sdk
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus