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 Nextsms Laravel Package

omakei/laravel-nextsms

omakei/laravel-nextsms is a Laravel package for sending SMS through NextSMS. Configure your credentials, send single or bulk messages via a clean API, and add SMS delivery to Laravel notifications, alerts, OTP flows, and other workflows without extra boilerplate.

View on GitHub
Deep Wiki
Context7

Getting Started

The 2.0.0 release is primarily a compatibility bump: it declares support for Laravel 9. There are no new public APIs called out in the release notes, so treat this as a maintenance upgrade rather than a feature release. Start by confirming your application's constraints line up:

  1. Check your PHP and Laravel versions. Laravel 9 requires PHP 8.0+, and this package's composer.json will now reflect that. If you are still on Laravel 8/PHP 7.4, stay on the previous major line.

  2. Read the package's composer.json and UPGRADE.md/CHANGELOG.md first. With a major version bump, the most likely breaking changes are raised minimum versions (PHP, illuminate/*, and test/dev dependencies), not behavioural changes. Confirm whether the package renamed any service provider, facade, or config keys between majors.

  3. Install and publish config:

    composer require vendor/package:^2.0
    php artisan vendor:publish --provider="Vendor\\Package\\PackageServiceProvider"
    
  4. First use case: wire the package into a single feature path (one controller, job, or console command), run it against a Laravel 9 app, and confirm the service provider auto-discovery registers correctly (php artisan about or php artisan package:discover).

The fastest sanity check is the package's own test suite against your Laravel version — if the maintainers ship a matrix in CI, mirror that locally before touching application code.

Implementation Patterns

Because the release is a compatibility update, day-to-day patterns should mirror whatever the package already documented for the 1.x line. Practical guidance for adopting it in a Laravel 9 codebase:

  • Pin the major and let patch releases flow. Use "vendor/package": "^2.0" rather than 2.0.0, so future Laravel 9 patch-compatibility fixes arrive automatically. If the package has a extra.laravel.dont-discover entry, decide explicitly whether to rely on auto-discovery or register the provider manually in config/app.php (or bootstrap/providers.php on newer skeletons).
  • Keep configuration in config/. Publish once, then treat the published file as application-owned. Any values you need per-environment should come from .env via env() in the config file, not from direct env() calls in application code.
  • Wrap usage behind a small service or facade call site. Even if the package exposes a facade, route calls through one or two of your own classes so a future major bump touches a single seam.
  • Test against the framework version you deploy. Add a CI job that runs the package's integration points on Laravel 9 specifically; a compatibility release is only proven by exercising it on the target framework.
  • Integrate via the container. Resolve the package's main class from the container rather than new-ing it, so config and any bound interfaces are respected. In tests, swap it for a fake or use the package's provided test helpers if it ships any.
  • Upgrade path for existing installs: bump the constraint, run composer update vendor/package --with-dependencies, re-publish config only if the changelog says the config schema changed, and clear caches (php artisan config:clear, php artisan cache:clear) before validating behaviour.

Gotchas and Tips

  • Major version = audit the constraint graph. The single biggest risk with "adds Laravel 9 compatibility" is transitive dependency conflicts. Run composer why-not vendor/package 2.0.0 and composer outdated --direct before assuming a clean upgrade.
  • Laravel 9 removed the $namespace property from RouteServiceProvider and changed several framework internals. If the package touches routing, facades, or service provider bootstrapping, verify those paths explicitly — this is where compatibility bumps commonly hide regressions.
  • PHP 8.0+ only. If any of your deploy targets still run PHP 7.4, this package version will not install. Confirm your CI images, Docker base images, and production runtime all match.
  • Config cache in production. A published config file that references env() at runtime outside the config file will silently break under config:cache. Keep env() calls confined to config/*.php.
  • Debugging registration issues: use php artisan package:discover -v, check bootstrap/cache/packages.php, and look for a stale cached provider after upgrading.
  • Don't assume new features. The release notes only mention Laravel 9 support. Scan the package's changelog for the full 2.0.0 entry; there may be undocumented breaking changes (signature changes, removed methods, renamed config keys) that the one-line summary omits.
  • Extension points: if the package binds interfaces in its service provider, prefer rebinding in your own provider ($this->app->bind(...)) over forking the package. This keeps your customisation intact across future patch releases.
  • Lockfile hygiene: commit composer.lock after the upgrade so every environment and CI runner resolves the identical set of versions.
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.
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels