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

Laravel Devtools Laravel Package

foodieneers/laravel-devtools

A collection of developer utilities for Laravel, bundling helpful debugging, inspection, and workflow tools to speed up local development.

View on GitHub
Deep Wiki
Context7

Getting Started

  • Confirm the installed version with composer show <vendor>/<package>; v1.6.0 is a breaking release because the root namespace moved to Foodineers\. Every application import, facade alias, config class string, and test mock must use the new namespace.
  • Look first at the package’s composer.json PSR-4 mapping and its service provider (Foodineers\...\...ServiceProvider) to confirm what is bound, published, and auto-discovered. Then inspect vendor/.../src/ for renamed classes beyond the root namespace.
  • Run composer dump-autoload and php artisan optimize:clear immediately after install or upgrade. Stale classmaps and cached config are the most common cause of “class not found” after a namespace migration.
  • First use case: resolve the package’s primary contract or facade from the container in php artisan tinker or a test route, then call one read-only method. This verifies discovery, configuration, and credentials before wiring it into a feature.
  • If the package publishes config or migrations, publish them with php artisan vendor:publish --provider="Foodineers\...\...ServiceProvider" and commit the published files.

Implementation Patterns

  • Prefer constructor injection of the package’s contracts over app() or facade calls inside domain code. This keeps tests swappable and limits the blast radius of future namespace changes.
  • Wrap the package behind a single application-level adapter or service class. When the package namespace or API changes, you update one file instead of every controller, job, and listener.
  • Register custom bindings in a dedicated provider such as App\Providers\FoodineersServiceProvider using bind() or singleton(), rather than scattering them through AppServiceProvider.
  • Add a smoke test that instantiates the package’s main class and resolves its contract from the container. This catches namespace and autoload regressions in CI before they reach runtime.
  • For queued jobs and events, import package classes normally, but grep the entire codebase for the old namespace after upgrading. Include app/, config/, database/, routes/, and tests/.
  • Use published config and environment variables for endpoints and credentials. Add logging, retries, and domain validation in your adapter rather than calling the package directly from controllers.

Gotchas and Tips

  • The namespace move is breaking. Any use OldVendor\..., facade alias in config/app.php, class string in config such as 'driver' => OldVendor\...::class, or serialized class name will fail. Run a project-wide search for the previous root namespace before deploying.
  • Clear bootstrap/cache/*.php, OPcache, and any Composer classmap-authoritative cache. In CI, a fresh composer install is fine, but local stale caches can mask the migration.
  • Queued jobs already in the queue may reference old class names. Drain or migrate queues during deployment, or provide backward-compatible class aliases until queues are empty.
  • Database-stored class names are an easy miss: polymorphic *_type columns, morph maps, audit logs, and stored webhook payloads may contain the old namespace.
  • Static-analysis and IDE caches will report false positives after the rename. Regenerate PHPStan/Psalm baselines and reindex PhpStorm.
  • The “Github fix” in this release is likely repository or CI metadata rather than runtime behavior. Verify the published tag matches the installed code and that the distributed archive contains the renamed src/ directory.
  • The release notes are terse. Inspect the diff between the previous tag and v1.6.0 to catch class renames or removals not mentioned in the notes.
  • Extension point: override behavior by extending the package service provider or rebinding its contract in your own provider. Avoid editing vendor/ so future upgrades remain normal Composer updates.
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.
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect
youbar/easy-crud
c-point-labs/laravel-hostyourai
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo