Ein Leitfaden für Anfänger zur Laravel Artisan Console
Artisan ist das Befehlszeilentool, mit dem Laravel auf seine Anwendungen zugreift. Es bietet eine Reihe von Befehlen, die Ihren Entwicklungsprozess erheblich vereinfachen können.
Wenn Sie sich also fragen, was es kann und wie Sie damit beginnen können, ist dies der Leitfaden für Sie. Hier finden Sie alles, was Sie über die Verwendung der Artisan-Konsole in Laravel wissen müssen.
Einstieg
Geben Sie in Ihrem Terminal den folgenden Befehl in das Verzeichnis Ihrer Laravel-Anwendung ein.
$ php artisan list
Es wird die Liste der verfügbaren Befehle angezeigt.
Wenn Befehle verwenden, können Sie sie mit Hilfe Option voraus ihre verfügbaren Argumente und Optionen anzuzeigen. Das Terminal zeigt auf der rechten Seite eine kurze Beschreibung dessen an, was sie tun.
$ php artisan --help serve
Tipp: Wie bei den meisten Befehlszeilenaktionen lautet die Syntax: Befehl [Optionen] [Argumente]
Basteln
Tinker ist die REPL (oder interaktive Shell), die Laravel verwendet. Eine "Read-Eval-Print-Schleife" (REPL) ist eine Programmierumgebung, die einzelne Benutzereingaben aufnimmt, verarbeitet und ein Ergebnis an den Benutzer zurückgibt.
Sie können Tinker mit der Verwendung des Python-Interpreters vergleichen, aber Tinker wurde speziell für Laravel entwickelt.
Diese spezielle Umgebung bietet viele Vorteile, z. B. das einfache Ausführen einfacher Tests auf dem System, ohne ständig Dateien zu schreiben.
Hinweis: Wenn Sie Laravel Sail verwenden, fügen Sie den Segelbefehl hinzu, und Ihre Anweisungen werden in den Docker-Containern Ihrer Anwendung ausgeführt.
$ ./sail artisan list
So installieren Sie Tinker
Standardmäßig wird Ihre Laravel-App mit Tinker geliefert. Wenn Sie es zuvor deinstalliert haben, können Sie es über Composer erneut hinzufügen.
$ composer require laravel/tinker
Befehle eingeben
Mit Tinker können Sie mit Ihrer gesamten Anwendung interagieren. Geben Sie Folgendes ein, um Tinker zu verwenden:
$ php artisan tinker
Sie werden dann mit der Bastelschale begrüßt.
Tinker verfügt über eine Befehlszulassungsliste, die bestimmt, welche Befehle in seiner Shell ausgeführt werden können. Um diese Liste zu erweitern, können Sie in das Verzeichnis / vendor / laravel / tinker / config wechseln, das die Datei tinker.php enthält.
Sie können diese Datei in Ihrem bevorzugten Texteditor bearbeiten, um Ihren Befehl hinzuzufügen.
'commands' => [
// AppConsoleCommandsExampleCommand::class,
],
Eigene Befehle definieren
Abgesehen von den Standard-Handwerkerbefehlen können Sie Ihre eigenen Befehle erstellen. Bei der Erstellung werden die Befehle automatisch im Verzeichnis app / Console / Commands gespeichert.
In Ihrem neuen Laravel-Projekt wird das Verzeichnis / Command nicht angezeigt. Das ist normal. Der Ordner wird automatisch erstellt, wenn Sie einen neuen Befehl definieren. Im Folgenden erfahren Sie, wie Sie Befehle generieren.
Befehle erstellen
Definieren Sie die Signatur Ihres Befehls und eine Beschreibung der Klasse. In der Klassendatei des Befehls definieren Sie auch dessen Argumente. Nehmen Sie dieses Beispiel:
$ php artisan make:command GetDailySales
Die folgende Datei wird bei der Ausführung automatisch generiert. Sie können Ihre Befehlslogik in die Handle-Methode einfügen, da sie bei der Ausführung des Befehls aufgerufen wird.
<?php
namespace AppConsoleCommands;
use IlluminateConsoleCommand;
class GetDailySales extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected$signature = 'command:name';
/**
* The console command description.
*
* @var string
*/
protected$description = 'Command description';
/**
* Create a new command instance.
*
* @return void
*/
publicfunction__construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return int
*/
publicfunctionhandle()
{
return0;
}
}
Schließbefehle
Sie können Schließbefehle gegenüberstellen, um Routenschließungen zu definieren, anstatt Controller zu verwenden. Ebenso können Sie anstelle von Befehlsklassen (wie im Abschnitt "Erstellen von Befehlen") Befehlsschließungen verwenden.
Der Vorteil hierbei ist, dass Sie weniger Dateien verwalten müssen und Ihre Logik leichter durchzublättern ist.
Die Datei Kernel.php definiert Konsolenrouten zu Ihrer Anwendung. Sie können alle Ihre Schließkonsolenbefehle mit der Artisan :: -Befehlsmethode in dieser Datei definieren. Der Befehl akzeptiert zwei Argumente: die Befehlssignatur und den Abschluss, dem Sie ihn zuweisen.
Artisan::command('report:get {day}', function ($day) {
$this->info("Generating report for: {$day}!");
});
Typ-Hinweis-Abhängigkeiten
Typhinweise beziehen sich auf die statische Definition des Datentyps, den eine Funktion zurückgeben oder ein Argument annehmen soll. Befehlsschließungen können auch auf die Abhängigkeiten hinweisen, die Sie vom Servicecontainer abrufen müssen.
Beschreiben von Befehlsschließungen
Verwenden Sie die Methode aim (), um einer Befehlsschließung eine Beschreibung hinzuzufügen.
Artisan::command('text:send {user}', function ($user) {
// ...
})->purpose('Send sms text to a user');
Sie können eine vollständige Liste der Befehle und Funktionen in den Dokumenten von Laravel anzeigen .
Erfahren Sie mehr Laravel
Laravel hat eine starke Entwickler-Community und eine gut geschriebene Dokumentation von seiner offiziellen Website. Dies bedeutet, dass Ihnen nie die Orte ausgehen, an denen Sie Hilfe finden, wenn Sie nicht weiterkommen.
Üben Sie weiter mit der Handwerker-Konsole, und Sie werden feststellen, wie leistungsfähig und zeitsparend die Befehle sein können. Laravel ist jedoch nicht nur die Artisan-Konsole.
Laravel 8 bietet eine Vielzahl neuer Funktionen für Ihr Webentwicklungsspiel.