omakei/laravel-nhif
A Laravel package for integrating Kenya's NHIF into PHP applications. It provides ready-made configuration and helpers for common NHIF workflows, helping developers add health-insurance functionality without repetitive boilerplate or direct API plumbing. It is ideal for apps needing NHIF-related fea...
composer require <vendor>/<package> and confirm the resolved version is ^2.2. The 2.2.0 release only widens the framework constraint (Laravel 13 / testbench 11.*), so any 2.x install path you already had still applies — you are not learning a new API, you are just clearing the version gate.composer.json for the PHP floor before upgrading. Laravel 13 + testbench 11 pulls a newer PHPUnit/PHP baseline into your dev dependencies; if your app is pinned to an older PHP minor, composer update will resolve back to 2.1.x and you will silently not get Laravel 13 support.php artisan vendor:publish --provider="<Vendor>\<Package>\<PackageServiceProvider>" (or --tag=<package>-config if the package defines tags). Commit the config file, then override environment-specific values in .env rather than editing the published file per environment.TestCase setup so your test boots the same provider set the package's own CI does.app(...)) so test doubles, decorators, and future major versions can swap the implementation without touching call sites. Type-hint the package's interface/facade-backed contract where one exists.AppServiceProvider::register() (or a dedicated provider listed after the package provider in bootstrap/providers.php) so package updates never clobber your wiring.config/<package>.php committed to the repo, with secrets and per-environment toggles in .env. Avoid calling setters at runtime; it makes behaviour invisible to config:cache and to anyone reading the repo.setUp(). For queue or event integration, prefer Bus::fake() / Event::fake() over hitting the package's real transport — the former is fast and version-stable.composer update <vendor>/<package> --with-dependencies, then php artisan config:clear && php artisan cache:clear, then the full suite. For a release like 2.2.0 the expected diff is zero — if you see behavioural changes, suspect a transitive dependency bump rather than the package itself.illuminate/support: ^10.0|^11.0|^12.0|^13.0. If the maintainers narrowed it, your Laravel 11/12 apps will fail to resolve on the next composer update — check composer why-not before assuming it is your app's fault.testbench 11.* is a dev-only bump. It should not appear in require, only require-dev. If it leaks into production requirements you will drag testing utilities into your deploy artifact.env() call made outside a config file returns null once config:cache has run. If the package reads env directly, set the values in the published config file and treat the env var as the source for that file only.vendor:publish --force overwrites silently. Before re-publishing after an upgrade, git diff the published config against the package's config/ stub — new keys added in a minor release are the usual cause of "why is this option ignored."bootstrap/providers.php (Laravel 11+) and remember package Discovery happens before app providers are booted.SerializesModels-safe and reconstructible after a deploy. Pass IDs and re-resolve from the container inside handle().app()->make(...) inside tinker, plus php artisan about to confirm the provider is loaded, resolves most "class not found / binding missing" reports faster than reading the stack trace. For deeper inspection, bind a logging decorator around the contract temporarily."<vendor>/<package>": "^2.2" gives you compatibility fixes without absorbing an unannounced 2.3 feature release mid-sprint; an exact pin will leave you stranded when the next Laravel version lands.How can I help you explore Laravel packages today?