Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

eZScript und eZCLI

Die Referenz von eZScript (Instanzeinstellungen, startup, getOptions, initialize, iterate, shutdown) und eZCLI (output, notice, warning, error, stylize) für Kommandozeilenskripte und Konsolenbefehle einer Erweiterung.

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/extension-development/part-8-reference/ezscript-and-ezcli.md

On this page

This page is a translation. Read the English original

eZScript und eZCLI

Teil 8, Referenz 14. eZScript (kernel/classes/ezscript.php) richtet den Kernel für ein Kommandozeilenskript ein; eZCLI (lib/ezutils/classes/ezcli.php) schreibt ins Terminal. Ein vollständiges Skript und wie die Konsole es findet, steht in CLI-Skripte und Konsolenbefehle.

eZScript

MethodeVerwendung
eZScript::instance( $settings = array() ) (statisch)das Skriptobjekt
startup()grundlegende Initialisierung; zuerst aufrufen
getOptions( $config = '', $argumentConfig = '', $optionHelp = false, ... )Optionen und Argumente auswerten; behandelt --help
initialize()Siteaccess, Datenbank, Erweiterungen; nach getOptions() aufrufen
isQuiet()ob -q angegeben wurde
resetIteration( $iterationMax = false, $startIndex = 0 ), iterate( $cli, $status, $text = false )eine Fortschrittsanzeige für Schleifen
setUseDebugOutput( $useDebug )Debug-Ausgabe am Ende
shutdown( $exitCode = false, $exitText = false )sauber mit einem Exit-Code beenden

Die meistverwendeten Einstellungen von instance():

SchlüsselBedeutung
descriptionder Text, den --help anzeigt
use-sessioneine Sitzung starten (selten nötig)
use-modulesdas Modulsystem laden
use-extensionsdie Einstellungen der aktiven Erweiterungen lesen (fast immer true)

Syntax der Optionen von getOptions(): [name:] nimmt einen Wert (--name=Ada), [flag] nicht, [n:] ist eine Kurzoption. Der Rückgabewert ist ein Array, nach Optionsnamen geordnet, plus arguments für die Positionsargumente.

Eine Schleife mit Fortschrittsanzeige

<?php
$cli = eZCLI::instance();
$script = eZScript::instance( array( 'description' => "Re-index items.\n", 'use-extensions' => true ) );
$script->startup();
$options = $script->getOptions( '[limit:]', '', array( 'limit' => 'How many items (default: all)' ) );
$script->initialize();

$items = array( 1, 2, 3 );
$script->resetIteration( count( $items ) );
foreach ( $items as $item )
{
    $ok = true; // the work for $item
    $script->iterate( $cli, $ok, "Item $item" );
}
$script->shutdown( 0 );

iterate() gibt je Element einen . für Erfolg und eine ~ für einen Fehlschlag aus und bricht die Zeilen mit einem laufenden Zähler um.

eZCLI

MethodeSchreibt
eZCLI::instance() (statisch)das Terminalobjekt
output( $string = false, $addEOL = true )normale Ausgabe (mit -q unterdrückt)
notice( ... ), warning( ... ), error( ... )Meldungen dieser Art
stylize( $styleName, $text )Text mit einem Stil, z. B. $cli->stylize( 'success', 'Done' )
setUseStyles( $useStyles )Farben ein oder aus

Exit-Codes und Sicherheit

  • Beenden Sie bei Erfolg mit 0 und bei einem Fehler mit einem Wert ungleich null, damit Cronjobs und Deployments reagieren können.
  • Skripte verweigern die Ausführung als root, sofern nicht --allow-root-user angegeben ist; führen Sie sie als Benutzer des Webservers aus, damit die Dateien, die sie schreiben, den richtigen Eigentümer haben.
  • Ein Skript, das Daten ändert, sollte einen Probelauf ([dry-run]) anbieten und sagen, was es tun würde.

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x