evoluted/twigtools-plugin
Evoluted's Twig Tools plugin extends Twig template handling in Laravel/PHP projects, adding helper functionality for rendering and working with Twig views. Install it via Composer to integrate the tools into an existing Twig-based setup; see the repository for configuration details.
Architecture fit
composer.json with a Pyro addon type and register itself through Pyro's addon/ServiceProvider lifecycle rather than Laravel's package auto-discovery (extra.laravel.providers). Any integration plan must therefore assume PyroCMS is the host application; on a plain Laravel app the package provides nothing usable without manually wiring the Twig extension.dump/var_dump-style helpers or similar developer ergonomics) registered onto the Twig environment. That means it sits in the view rendering path, not the domain/business layer. Blast radius is wide (every template render) but depth is shallow.require-dev convenience for teams already running PyroCMS 3.x with Twig. There is no architectural justification for introducing PyroCMS into a Laravel codebase to consume it.Integration feasibility
pyrocms/pyrocms (3.x line, effectively Laravel 5.1–5.5 and Twig 1.x/2.x), PHP version ceiling (likely 5.6–7.1 era), and Twig API compatibility (Twig_Extension vs AbstractExtension, getFunctions() signature).php artisan addon:install, addon manifest/composer.json in addons/ or vendor), which is a different operational motion than composer require. This is the single largest integration cost and is frequently underestimated.Technical risk
dump-class functions in production templates is an information-disclosure vector.Key questions
Twig\Extension\DebugExtension or Symfony VarDumper (which would make the addon redundant)?pyrocms/pyrocms and Twig versions, and does that match our pinned stack?require-dev dependency versus a ~50-line in-house Twig extension we own outright?Stack fit
require-dev, loaded conditionally by APP_ENV, never bundled into production artifacts or release tags.Migration path
DebugExtension and Laravel/Symfony dump(). If coverage overlaps, close the ticket — adopt the native extension and skip the addon.Compatibility
pyrocms/pyrocms, twig/twig, and PHP locks before any commitment; the Twig 1→2 Twig_Extension→AbstractExtension shift is the most likely break point.getFunctions() deprecations surfacing as E_USER_DEPRECATED noise in logs.Sequencing
Maintenance
Support
Scaling
Failure modes
| Mode | Impact | Mitigation |
|---|---|---|
| Twig API drift on upgrade | Local/CI render exceptions | Pin versions; smoke test on boot |
| Pyro addon registration failure | Dev environment won't boot cleanly | Isolate in dev container; document manual registration |
| Debug helpers leaking to production | Information disclosure | Hard APP_ENV gate; assert absence in release build |
| Upstream repo deletion | Irrecoverable dependency | Vendor-fork + mirror; prefer in-house rewrite |
| Namespace/autoload collision with other addons | Intermittent, hard-to-diagnose errors | Test in a representative multi-addon sandbox |
Ramp-up
addon:install, ServiceProvider hooks) — that Pyro-specific knowledge is the actual cost, not the Twig extension itself.How can I help you explore Laravel packages today?