shapecode/twig-collector-extension-bundle
Symfony bundle adding a Twig extension for the profiler's Twig collector, letting templates read collected data and dump variables during development. Auto-registered via Flex, it also adds a web profiler panel for inspecting template and collector data.
composer require <vendor>/<package>:^1.1 and confirm the constraint resolves against your PHP and Laravel versions before touching code. composer why-not is the fastest way to diagnose a conflict.register()/boot()) → the published config file → CHANGELOG.md. The provider tells you what is bound into the container and under which keys; that is the contract everything else depends on.extra.laravel.providers in its composer.json). If it does, do not also register it in config/app.php — you will get double registration and duplicated listeners.php artisan vendor:publish --tag=<package>-config (and -migrations / -assets if present). Review the config diff before committing; published config becomes your code and will not receive upstream default changes.app(Contract::class)) rather than instantiating directly so tests can swap it.php artisan tinker that the class resolves and the config keys are visible (config('package.key')). If resolution fails, you have a provider or discovery problem, not an API problem.App\Services\XService) and let the rest of the app depend on that. It keeps the package out of your domain code, makes fakes trivial, and makes a future major-version upgrade a one-file change.config/<package>.php + .env, never by editing vendor code. Keep your defaults in the published config under version control and document overrides in .env.example.default — otherwise a sync local setup masks production behaviour.migrate.setUp() where offered; otherwise $this->swap(Contract::class, $fake). Add one integration test (real binding) alongside the unit tests so you catch binding regressions on upgrade.composer.json range plus current — packages at 1.1.x frequently ship minor-version fixes that only surface on older framework releases.^1.1, read the changelog on every composer update, run the suite, and only then bump the lockfile on main. Batch dependency updates separately from feature work so a bisect is possible..env, run php artisan config:clear. Most "my config change is ignored" reports are a stale bootstrap/cache/config.php — especially in Docker images where config is cached at build time.vendor:publish runs once per tag. Re-publishing requires --force, which silently overwrites your local edits. Diff before forcing, and consider keeping the published config out of the publish path once customised.php artisan package:discover runs on composer install; in CI with --no-scripts the provider may never be registered. Add an explicit package:discover step if you disable scripts.config/app.php, the later one wins silently. Check aliases after adding any package that ships a facade.^1.1 allows 1.9.x; if you need patch-level reproducibility, rely on composer.lock in the app and commit it. Don't pin exact patch versions in a library's composer.json.php artisan queue:restart) — long-running workers hold the old class definitions in memory, which produces confusing "method does not exist" errors.Macroable traits on the main classes. Forking the package should be the last resort — a wrapper plus an event listener covers most customisation.How can I help you explore Laravel packages today?