Startbahn ist eine CLI-Anwendung, die Ihnen dabei hilft, Ihre Flight-Anwendungen zu verwalten. Sie kann Controller generieren, alle Routen anzeigen und mehr. Sie basiert auf der ausgezeichneten adhocore/php-cli Bibliothek.
Klicken Sie hier, um den Code anzusehen.
Mit Composer installieren.
composer require flightphp/startbahn
Das erste Mal, wenn Sie Startbahn ausführen, wird es Sie durch einen Einrichtungsprozess führen und eine .runway.json-Konfigurationsdatei im Stammverzeichnis Ihres Projekts erstellen. Diese Datei wird einige notwendige Konfigurationen enthalten, damit Startbahn ordnungsgemäß funktioniert.
Startbahn hat mehrere Befehle, die Sie verwenden können, um Ihre Flight-Anwendung zu verwalten. Es gibt zwei einfache Möglichkeiten, Startbahn zu verwenden.
php startbahn [Befehl]
vendor/bin/startbahn [Befehl]
Für jeden Befehl können Sie die --help-Flagge übergeben, um weitere Informationen zur Verwendung des Befehls zu erhalten.
--help
php startbahn routes --help
Hier sind ein paar Beispiele:
Basierend auf der Konfiguration in Ihrer .runway.json-Datei wird der Standardort einen Controller für Sie im app/controllers/ Verzeichnis generieren.
app/controllers/
php startbahn make:controller MeinController
Basierend auf der Konfiguration in Ihrer .runway.json-Datei wird der Standardort einen Controller für Sie im app/records/ Verzeichnis generieren.
app/records/
php startbahn make:record benutzer
Wenn Sie zum Beispiel die benutzer Tabelle mit dem folgenden Schema haben: id, name, email, created_at, updated_at, wird eine Datei ähnlich der folgenden in der app/records/BenutzerDatensatz.php erstellt:
benutzer
id
name
email
created_at
updated_at
app/records/BenutzerDatensatz.php
<?php declare(strict_types=1); namespace app\records; /** * ActiveRecord-Klasse für die benutzer Tabelle. * @link https://docs.flightphp.com/awesome-plugins/active-record * * @property int $id * @property string $name * @property string $email * @property string $created_at * @property string $updated_at * // Sie können hier auch Beziehungen hinzufügen, sobald Sie sie im $relations-Array definieren * @property CompanyRecord $company Beispiel für eine Beziehung */ class BenutzerDatensatz erstreckt sich über \flight\ActiveRecord { /** * @var array $relations Setzen Sie die Beziehungen für das Modell * https://docs.flightphp.com/awesome-plugins/active-record#relationships */ protected array $relations = []; /** * Konstruktor * @param gemischt $datenbankverbindung Die Verbindung zur Datenbank */ public function __construct($datenbankverbindung) { parent::__construct($datenbankverbindung, 'benutzer'); } }
Dies wird alle Routen anzeigen, die derzeit bei Flight registriert sind.
php startbahn routes
Wenn Sie nur bestimmte Routen anzeigen möchten, können Sie eine Flagge übergeben, um die Routen zu filtern.
# Nur GET-Routen anzeigen php startbahn routes --get # Nur POST-Routen anzeigen php startbahn routes --post # usw.
Wenn Sie entweder ein Paket für Flight erstellen oder Ihre eigenen benutzerdefinierten Befehle in Ihr Projekt integrieren möchten, können Sie dies tun, indem Sie ein src/befehle/, flight/befehle/, app/befehle/ oder befehle/ Verzeichnis für Ihr Projekt/Paket erstellen.
src/befehle/
flight/befehle/
app/befehle/
befehle/
Um einen Befehl zu erstellen, erweitern Sie einfach die Klasse AbstractBaseCommand und implementieren Sie mindestens eine __construct-Methode und eine ausführen-Methode.
AbstractBaseCommand
__construct
ausführen
<?php declare(strict_types=1); namespace flight\commands; Klasse BeispielBefehl erweitert AbstractBaseCommand { /** * Konstruieren * * @param array<string, gemischt> $konfig JSON-Konfiguration aus .runway-config.json */ public function __construct(array $konfig) { parent::__construct('make:beispiel', 'Erstellt ein Beispiel für die Dokumentation', $konfig); $this->argument('<lustiges-gif>', 'Der Name des lustigen Gifs'); } /** * Führt die Funktion aus * * @return Leer */ public function execute(string $controller) { $io = $this->app()->io(); $io->info('Beispiel wird erstellt...'); // Hier etwas machen $io->ok('Beispiel erstellt!'); } }
Siehe die adhocore/php-cli Dokumentation für weitere Informationen, wie Sie Ihre eigenen benutzerdefinierten Befehle in Ihre Flight-Anwendung integrieren können!