Heim > Backend-Entwicklung > PHP-Tutorial > Hallo, Laravel? Kommunikation mit PHP über SMS!

Hallo, Laravel? Kommunikation mit PHP über SMS!

William Shakespeare
Freigeben: 2025-02-09 11:21:14
Original
571 Leute haben es durchsucht

Diese Laravel -Wetter -App, die ursprünglich für Sprachanrufe entwickelt wurde, unterstützt jetzt die SMS -Kommunikation. Diese Verbesserung beinhaltet das Hinzufügen von Routen, das Ändern der Serviceebene und das Erstellen eines SMS -Controllers, um eingehende Textnachrichten zu verarbeiten.

Hello, Laravel? Communicating with PHP through SMS!

Routeneradungen:

Die Datei routes/web.php wird aktualisiert, um eine SMS -Route -Gruppe einzuschließen:

Route::group(['prefix' => 'sms', 'middleware' => 'twilio'], function () {
    Route::post('weather', 'SmsController@showWeather')->name('weather');
});
Nach dem Login kopieren

Diese /sms/weather Route übernimmt alle eingehenden SMS -Nachrichten und nutzt die Postanfragen von Twilio.

Service -Layer -Modifikation:

Die Methode app/Services/WeatherService.php Datei wird überarbeitet, um SMS aufzunehmen: getWeather

public function getWeather($zip, $dayName, $forSms = false) {
    // ... (Existing code to retrieve weather data remains unchanged) ...

    $weather = $day->name;
    $weather .= ' the ' . $tsObj->format('jS') . ': ';

    $response = new Twiml();

    if ($forSms) {
        $remainingChars = 140 - strlen($weather);
        // ... (Condensed weather forecast for SMS, limited to 140 characters) ...
        $response->message($weather);
    } else {
        // ... (Existing code for voice responses remains unchanged) ...
    }

    return $response;
}
Nach dem Login kopieren
Die Schlüsseländerung ist die Zugabe von

Parameter. Wenn wahr, wird die Prognose verkürzt, um in SMS -Charaktergrenzen zu passen. $forSms

SMS -Controller:

Ein neues

wird in SmsController.php: app/Http/Controllers erstellt

<?php
namespace App\Http\Controllers;

use App\Services\WeatherService;
use Illuminate\Http\Request;
use Twilio\Twiml;

class SmsController extends Controller
{
    // ... (Constructor and dependencies remain the same) ...

    public function showWeather(Request $request)
    {
        $parts = $this->parseBody($request);

        switch ($parts['command']) {
            case 'zipcode':
                // ... (Handle zipcode input) ...
                break;
            case 'day':
                // ... (Handle day of week input) ...
                break;
            case 'credits':
                // ... (Handle credits request) ...
                break;
            default:
                // ... (Handle default/unknown input) ...
                break;
        }

        return $response;
    }

    private function parseBody($request)
    {
        // ... (Parses the SMS body to determine user intent) ...
    }
}
Nach dem Login kopieren
Die

-Methode dieses Controllers verwendet showWeather, um die SMS -Nachricht zu interpretieren und parseBody mit entsprechenden Parametern aufzurufen. getWeather identifiziert Postleitzahlen, Wochentage und Kreditanforderungen. parseBody

Twilio -Konfiguration:

Aktualisieren Sie Ihre Twilio -Telefonnummer -Einstellungen, um das SMS -Webhook auf den Endpunkt Ihrer Anwendung zu verweisen (mit Ihrer NGROK -URL).

/sms/weather

Hello, Laravel? Communicating with PHP through SMS!

App -Verwendung:

Senden Sie eine SMS mit einer Postleitzahl an Ihre Twilio -Nummer, um die Wettervorhersage zu erhalten. Nachfolgende Nachrichten können einen Wochentag angeben oder Credits anfordern.

Hello, Laravel? Communicating with PHP through SMS! Hello, Laravel? Communicating with PHP through SMS! Hello, Laravel? Communicating with PHP through SMS! Hello, Laravel? Communicating with PHP through SMS! Diese verbesserte Laravel -Anwendung zeigt eine robuste und flexible Möglichkeit, sowohl mit Sprach- als auch SMS -Interaktionen mithilfe von Twilio umzugehen. Der Code bietet ein klares Beispiel dafür, wie die Funktionalität zur Unterstützung eines neuen Kommunikationskanals erweitert wird. Denken Sie daran, Platzhalter -Kommentare durch den tatsächlichen Code aus der ursprünglichen Antwort zu ersetzen.

Das obige ist der detaillierte Inhalt vonHallo, Laravel? Kommunikation mit PHP über SMS!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage