n0n0n0n0/with-join
A Laravel package that extends Eloquent's with() eager loading to use SQL joins instead of separate queries, helping reduce query counts and speed up relationship loading in your models.
composer.json for the exact illuminate/* constraints before upgrading an existing app.composer require vendor/package:^2.0. On Laravel 5.5 the service provider and facade should be auto-discovered via the package’s extra.laravel block — no manual edits to config/app.php are required.php artisan vendor:publish --provider="Vendor\Package\PackageServiceProvider". Prefer the package’s tag if one is documented (e.g. --tag=package-config) to avoid publishing unrelated assets.config/package.php, and the service provider’s register()/boot() methods. These tell you which bindings, facades, and extension points are available..env, reference them from the published config file, then resolve the package’s main service from the container (constructor injection) or call its facade in php artisan tinker. That gives you a fast feedback loop before wiring it into application code..env. Publish the config once, commit it, and drive environment differences through env() calls inside the config file. Never call env() outside config if you plan to run config:cache.handle(), or re-resolve explicitly.$this->app->instance(Contract::class, $fake)) or use Facade::shouldReceive(...). Reset facade mocks between tests.composer update vendor/package, then:
config/app.php that are now auto-discovered (duplicate registration causes confusing double-boot behaviour).php artisan config:clear and php artisan package:discover before testing.bootstrap/cache/packages.php (or run php artisan package:discover) to confirm what’s registered, and remove duplicates.php artisan config:cache in production. Any env() call outside config/ returns null once cached — a common source of “works locally, breaks in prod”.vendor:publish can clobber customised config/views. Use --force deliberately, and keep your changes in a diff or separate override file where the package supports it.package:discover), confirm the config file exists under config/, check for stale caches (config:clear, cache:clear), and inspect the container binding with app()->bound(...) in Tinker.extend/swap where provided. Publishable migrations/views should be published and customised locally.^2.0 in composer.json and review the changelog before minor upgrades — packages that bump majors for framework support often bundle behavioural changes alongside.How can I help you explore Laravel packages today?