ruvents/twig-extensions
ruvents/twig-extensions provides useful Twig extensions for Laravel, adding filters, functions, and integrations that let Twig templates access common framework features more cleanly and with less custom template code.
composer require <vendor>/<package> then composer show <vendor>/<package> — you want ≥ 3.2.2 if your app runs on Laravel 5.6+ (Symfony 4 components).config/app.php and register the facade alias there.php artisan vendor:publish --provider="Vendor\\Package\\PackageServiceProvider" — only publish the config file; skip migrations/stubs unless you actually use them.app(SomeManager::class) or its facade) rather than new-ing it up — that's what wires in config, the HTTP client, and the Symfony-version-dependent collaborators. Start with the single feature you installed it for (e.g. dispatching a job, transforming a payload) and verify it in php artisan tinker before wiring it into a controller.config/<package>.php. Keep environment-specific values in .env and reference them from config (env('PACKAGE_DRIVER')) so you never edit published config per environment.App\Contracts\X that the package class implements or that wraps it. Your app code then depends on your interface, and a future major (or a swap to a different package) becomes a one-file change.onQueue('package')) so a slow external dependency can't starve your default queue.shouldReceive hooks in setUp() and assert on the observable side effects (dispatched jobs, HTTP calls via Http::fake()) instead of asserting on the package's internals. Add one integration test that hits the real service provider boot so config mistakes fail in CI.symfony/*: ^4.0) alongside Symfony 3. It's a safe patch upgrade — no API changes — but it does change the range composer will resolve.composer update --with-dependencies can pull in a different Symfony minor than the rest of your app expects. Run composer why symfony/console before and after to confirm you haven't split your Symfony component versions across two majors.symfony/*: ^4.0 in your root composer.json to "take advantage" of this release — the framework itself will conflict.php artisan config:clear && php artisan cache:clear. Stale cached config is the single most common cause of "it worked yesterday" after a package bump.composer update reports a conflict, composer why-not <vendor>/<package> 3.2.2 pinpoints which dependency is holding you back — usually an older symfony/* constraint from a third-party package, not the framework.composer.lock and pin "<vendor>/<package>": "^3.2" so a future 4.x doesn't land silently in a routine update.How can I help you explore Laravel packages today?