belltastic/laravel
Belltastic for Laravel provides a clean integration with the Belltastic notification service, letting Laravel apps send and manage notifications through a familiar API. Includes configuration, notification channel support, and straightforward setup.
composer require <vendor>/<package>:^0.4.1. The 0.4.x line is the first to declare Laravel 9 support, so treat 0.4.1 as your minimum if the app is on Laravel 9. On Laravel 10/11, verify the constraint before assuming compatibility; a package that added Laravel 9 support in a patch release may not yet allow newer framework majors.composer.json in the package for its illuminate/* and PHP constraints. Laravel 9 requires PHP 8.0+, so if the package previously supported PHP 7.x, confirm your runtime and CI images match.php artisan package:discover if you use a cached manifest, then inspect php artisan about to confirm the provider loaded.config/<package>.php after publishing. Publish only what you need: php artisan vendor:publish --provider="Vendor\Package\PackageServiceProvider" --tag=config (and --tag=migrations separately if applicable).app(SomeContract::class)) before spreading it across the codebase.App\Services\...) that exposes only the operations your domain needs. When the package's API shifts between 0.x minors, you change one adapter instead of dozens of call sites.config/<package>.php and reference them via config(). Override per-environment with env vars rather than editing published files in place.$this->app->instance(...)) or use the package's provided fake if one exists. Assert on your adapter's behavior rather than the package internals.return new class extends Migration) avoid class-name collisions.0.x. Pin to ^0.4.1 rather than *, commit the lockfile, and read the changelog between minors. Pre-1.0 packages may change signatures in minor releases.$dates property in favor of $casts. If the package interacts with filesystems, HTTP, or model date handling, exercise those paths explicitly after upgrading — the package's "Laravel 9 support" claim covers its own code, not your integration points.E_ALL and check storage/logs/laravel.log after the first real request.composer require fails, use composer why-not <vendor>/<package> 0.4.1 to find the package pinning an older illuminate/support. Laravel 9 support often requires bumping other dependencies in the same pass.php artisan config:clear, route:clear, view:clear, and package:discover. Stale cached config is the most common reason a newly published config file appears to be ignored.vendor:publish with a tag does nothing, run it without --tag and read the prompt, or check the provider's publishes() paths directly.get_class(app(SomeContract::class))) at boot in a local environment. That single line distinguishes "config not loaded" from "wrong binding."AppServiceProvider.How can I help you explore Laravel packages today?