❝In den letzten Artikeln zur Verwendung von Laravel zur Implementierung von Rabbitmq bin ich auf einige Probleme bei der Implementierung des Routing-Modus gestoßen und habe mich auf das Problem der Übergabe von Befehlszeilenparametern konzentriert.
❞
Sie finden sie in diesem Code I Ich habe eine undefinierte Variable $argv
gesehen. Ehrlich gesagt habe ich das Framework so oft verwendet, dass ich nicht einmal weiß, was das für ein Ding ist.
Kaka verwendet das Laravle-Framework und nicht deklarierte Variablen melden direkt einen Fehler.
Aber diese Instanz wird tatsächlich im Routing-Modus benötigt und Sie können sie nicht einmal ausführen, um sie zu ändern routing_key
Nachdem ich nach php argv
gesucht hatte, erschien mir eine klare Erklärung. Dieser Typ wird verwendet, um Parameter an das Skript zu übergeben! Lassen Sie uns ohne weitere Umschweife eine PHP-Datei erstellen und diese dann testen.
Erstellen Sie eine index.php-Datei im Webverzeichnis und drucken Sie sie dann aus $argv
, um index.php auszuführen und den Befehl php index kaka
auszuführen.
Das ist etwas interessant. Die gedruckten Daten liegen in der in den obigen Informationen erwähnten Array-Form vor.
Der erste Wert ist der Dateiname, der ausgeführt werden soll, und der zweite Parameter ist der Parameter, der an das Skript übertragen wird. Lassen Sie uns zu diesem Zeitpunkt noch einmal einen Blick auf den Rabbitmq-Code werfen.
führt Fehlertoleranz für die Daten mit Index 1 durch, was dem erforderlichen Wert routing_key
entspricht. Wenn man sich die unten aufgeführten Ausführungsanweisungen ansieht, ist es nicht schwer zu verstehen, warum es so ausgeführt wird.
Das Leben muss weitergehen, und der Code muss trotzdem weitergehen. Du musst masturbieren, oder? Wenn Sie ein Framework verwenden, müssen Sie sich an die Nutzung des Frameworks anpassen.
Erstellen Sie zuerst einen Befehl php artisan make:command TestCommand
Dann können Sie die TestController-Datei sehen.
Signatur ist der BefehlsnameFühren Sie ihn zuerst aus! php artisan test:command
, dieser 123 ist in der Handle-Methode unten Führen Sie den Befehl mit Parametern in Laravle aus Führen Sie den Befehl aus php artisan test:command kaka
und sehen Sie, was passieren wird.
Ja! Es ist der Parameter nach der Anweisung.
Es gibt mehrere Möglichkeiten, Laralve zum Übertragen von Parametern zu verwenden. Ich werde sie hier nicht demonstrieren.
Das obige ist der detaillierte Inhalt vonIch habe $argv erst kennengelernt, nachdem ich zwei Jahre lang gearbeitet habe, was bedeutet, dass es sehr niedrig ist!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!