symfony/spot-hit-notifier
Symfony Notifier transport for Spot-Hit SMS. Configure via SPOTHIT_DSN with your API token and sender (from), with optional settings for long SMS and concatenation count validation. Links to Spot-Hit API docs and Symfony issue/PR channels.
Symfony/Laravel Compatibility (Updated)
HttpClient, Messenger, DependencyInjection, EventDispatcher). Laravel’s compatibility risks remain unchanged:
HttpClient: Still replaceable with Laravel’s HttpClient or Guzzle, but custom adapters may be required.Illuminate\Queue) remains the primary alternative, with no native alignment.EventDispatcher can still be mapped to Laravel’s Events, but event listeners/emitters may need refactoring.spatie/laravel-notification-channels-*) suffice.Spot-Hit-Specific Considerations
Core Dependencies (No Changes)
HttpClient: Still replaceable, but no updates to simplify this process.SpotHitNotifier) may still require wrapper classes.config/packages/spot_hit_notifier.yaml), so Laravel’s config/services.php or custom config files will still need manual alignment.Testing (No Changes)
phpunit/symfony-bundle) remain unchanged, so adaptation to Laravel’s testing tools (e.g., Pest, PHPUnit with Laravel extensions) is still necessary.High Risks (Unchanged)
Medium Risks (Unchanged)
HttpClient vs. Laravel’s HttpClient or Guzzle persist.Low Risks (Unchanged)
spatie/laravel-webhooks)?v8.1.0 suggests stability, but confirm if this is part of a larger roadmap).spatie/laravel-webhooks, nwidart/laravel-menus) been evaluated for similar functionality? Check if they support Spot-Hit natively.v8.1.0), confirm there are no breaking changes that could affect the Symfony-Laravel bridge. Review the full changelog for hidden deprecations or API shifts.Laravel Compatibility (No Changes)
HttpClient with Laravel’s HttpClient or Guzzle as before. Example remains valid:
// Laravel equivalent (unchanged)
$response = \Illuminate\Support\Facades\Http::post('https://api.spot-hit.com/notify', [
'json' => ['event' => 'alert']
]);
$this->app->bind(\SpotHitNotifier::class, function ($app) {
return new \App\Services\SpotHitNotifierAdapter(
$app['http.client'],
config('services.spot_hit.api_key')
);
});
Events system remains necessary. Example unchanged:
event(new \App\Events\SpotHitEvent($data));
Illuminate\Queue) is still required for Symfony’s Messenger. Example unchanged:
namespace App\Jobs;
use Illuminate\Bus\Queueable;
class SendSpotHitNotification implements ShouldQueue
{
public function handle() {
Http::post('https://api.spot-hit.com/notify', [...]);
}
}
New Considerations
v8.1.0 introduces no significant changes, the integration approach remains identical. However, validate that:
symfony/http-client:^5.4) are compatible with Laravel’s dependencies.Phase 1: Proof of Concept (PoC) (Reaffirmed)
Phase 2: Core Integration (Reaffirmed)
HttpClient, EventDispatcher) with Laravel equivalents./notify endpoint"). Revisit if future releases introduce changes.Phase 3: Testing & Optimization (Reaffirmed)
Pest).// Test that Spot-Hit API calls are not affected by Laravel's HTTP client
public function test_spot_hit_notification()
{
Http::fake([
'https://api.spot-hit.com/notify' => Http::response(['success' => true], 200),
]);
$this->assertTrue(SendSpotHitNotification::dispatchSync()->success);
}
Phase 4: Deprecation (Optional) (Reaffirmed)
Symfony Components (No Changes)
HttpClient).Events system is analogous).New Compatibility Checks
symfony/http-client:^5.4) align with Laravel’s supported versionsHow can I help you explore Laravel packages today?