Heim >Backend-Entwicklung >PHP-Tutorial >Drupal: So erstellen Sie Ihren eigenen DRUSH -Befehl
Schlüsselkonzepte
.drush.inc
-Datei (in Ihrem Modul), die Funktion hook_drush_command()
für die Befehlsdefinition und eine Rückruffunktion, um die Logik des Befehls auszuführen. drush_get_option()
. DRUSH -Stromlinien Drupal Management aus dem Terminal. Beim Angebot von vorgefertigten Befehlen (Modul-Download, Aktivieren, Update) liegt die wahre Leistung beim Erstellen benutzerdefinierter Befehle. Dieses Tutorial zeigt, dass ein DRUSH -Befehl für ein einfaches, illustratives Modul erstellt wird. Der Fokus liegt auf der Befehlsstruktur von DRUSH, nicht auf der Kernfunktionalität des Moduls. Beispielcode ist in [dieses Repository] verfügbar (Repository_Link_here - Ersetzen Sie, falls verfügbar).
.Unser Beispielmodul
demo_drush
Die Funktionalität des Moduls
<code class="language-php">function demo_drush_print_statement() { drupal_set_message(t('Hello world!')); }</code>
Diese Funktion wird verwendet, um zu demonstrieren, wie Drush -Nachrichten zur Konsole gedruckt werden. Wir werden es später ändern, um verschiedene Befehlsfunktionen zu präsentieren.
demo_drush.drush.inc
Die DRUSH -Befehlsdatei ()
demo_drush.drush.inc
Erstellen Sie .drush.inc
im Verzeichnis Ihres Moduls. Drush identifiziert und lädt Funktionen aus Dateien, die in
Befehlshaken und Rückruf
hook_drush_command()
DRUSH -Befehlsarchitektur umfasst zwei Hauptteile: die hook_drush_command()
-implementierung (Definieren von Befehlen und Konfigurationen) und Rückruffunktionen, die durch Befehle ausgelöst werden. Beginnen wir mit
<code class="language-php">/** * Implements hook_drush_command(). */ function drush_demo_drush_command() { $items['drush-demo-command'] = array( 'description' => 'Demonstrates Drush command functionality.', 'aliases' => array('ddc'), ); return $items; }</code>
drush-demo-command
Dies definiert einen Befehl namens ddc
(aliased als drush_drush_demo_command()
). Die Rückruffunktion (standardmäßig
<code class="language-php">/** * Callback for the drush-demo-command command. */ function drush_drush_demo_command() { demo_drush_print_statement(); }</code>
drush cc drush
Nach dem Löschen des DRUSH -Cache (drush ddc
) und ausgeführt
Argumente und Optionen
Verbessern Sie Ihren Befehl mit Argumenten (obligatorisch) und Optionen (optional). Fügen wir sie zum Haken hinzu:
<code class="language-php">function demo_drush_print_statement() { drupal_set_message(t('Hello world!')); }</code>
Now, drush ddc error --repeat=10
legt den Anweisungsart auf "Fehler" fest und wiederholt ihn 10 Mal. Aktualisieren Sie demo_drush_print_statement()
und die Rückruffunktion entsprechend:
<code class="language-php">/** * Implements hook_drush_command(). */ function drush_demo_drush_command() { $items['drush-demo-command'] = array( 'description' => 'Demonstrates Drush command functionality.', 'aliases' => array('ddc'), ); return $items; }</code>
Benutzereingabe
Fehlende Argumente interaktiv verarbeiten:
<code class="language-php">/** * Callback for the drush-demo-command command. */ function drush_drush_demo_command() { demo_drush_print_statement(); }</code>
Beispiele in hook_drush_command()
Beispiele zum Haken hinzufügen:
<code class="language-php">... 'arguments' => array( 'type' => 'Statement type (error or success).', ), 'options' => array( 'repeat' => 'Number of statement repeats.', ), ...</code>
Schlussfolgerung
Dieses Tutorial deckt die Grundlagen des Erstellens von DRUSH -Befehlen ab. Erforschen Sie erweiterte Funktionen wie Bootstrap -Ebenen, Modulabhängigkeiten und Kompatibilität der Kernversion in der Dokumentation der DRUSH -API.
häufig gestellte Fragen (FAQs) (diese sind bereits in der Eingabe gut geschrieben, sie müssen sie nicht neu schreiben)
Das obige ist der detaillierte Inhalt vonDrupal: So erstellen Sie Ihren eigenen DRUSH -Befehl. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!