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

Kommandozeile: die Konsole und eZScript

Das Gegenstück von Exponential zu bin/console, artisan, manage.py, Rails-Befehlen und Spring-Boot-Runnern - bin/php/console mit den Namensräumen exp:, ext:, shell: und cron:, einen Befehl als Klasse…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/web-framework-developers/cli-and-console-commands.md

On this page

This page is a translation. Read the English original

Kommandozeile: die Konsole und eZScript

Diese Seite richtet sich an Entwickler, die in bin/console, php artisan, manage.py oder bin/rails zu Hause sind. Exponential hat einen einzigen Einstiegspunkt für alle Befehle, bin/php/console (Installationen legen meist eine Abkürzung ./console im Stammverzeichnis an). Er findet Befehle zur Laufzeit anhand ihres Speicherorts, sodass der Befehl einer Erweiterung nicht registriert werden muss (Exponential Console, Konsolenbefehle).

Inhalt

  1. Befehle finden
  2. Befehlsnamen
  3. Einen Befehl schreiben
  4. Siteaccess, Benutzer und root
  5. Befehle, die Sie täglich verwenden
  6. Im Vergleich mit anderen Frameworks

Befehle finden

php bin/php/console                   # every command
php bin/php/console list ext:expdemo  # one namespace
php bin/php/console --version

Befehlsnamen

NamensraumFührt ausBeispiel
exp:<name>bin/php/<name>.phpexp:ezcache
shell:<name>bin/shell/<name>.sh
bin:<name>bin/<name>.sh oder .php
ext:<ext>:<name>extension/<ext>/bin/php/<name>.php oder bin/<name>.shext:expqueue:status
cron:<part>einen Cronjob-Teilcron:frequent

Ein Skript kann mit einem @alias-Tag in seinem Docblock zusätzliche Namen deklarieren (bin/php/exphelp.php deklariert @alias exp:help), und ein @description-Tag beschreibt es in list.

Einen Befehl schreiben

Neue Befehle sind Klassen, die Exponential\Runnable\Command erweitern und von einem einzeiligen Skript aufgerufen werden (CLI-Skripte mit eZScript):

<?php
// extension/expdemo/classes/runnable/commands/report.php
namespace Exponential\Command\Extension\Expdemo;

class Report extends \Exponential\Runnable\Command
{
    public function run()
    {
        $this->script( array( 'description' => "Writes the monthly report",
                              'use-session' => false, 'use-modules' => true, 'use-extensions' => true ) );
        $options = $this->startup( '[month:][dry-run]', '', array(
            'month'   => 'The month, YYYY-MM',
            'dry-run' => 'Show what would be written, write nothing' ) );
        $this->output( \expDemoReportService::build( $options['month'], !empty( $options['dry-run'] ) ) );
        $this->shutdown( 0 );
    }
}
#!/usr/bin/env php
<?php
// extension/expdemo/bin/php/report.php
require_once 'autoload.php';
\Exponential\Command\Extension\Expdemo\Report::main( __FILE__ );

Aufruf: php bin/php/console ext:expdemo:report --month=2026-10 --dry-run. Die klassische Form, die viele Skripte verwenden, ruft eZScript::instance(), startup(), getOptions(), initialize() und shutdown() direkt auf; die Ausgabe läuft über eZCLI (output(), notice(), warning(), error()). Optionszeichenketten verwenden [name:] für einen Wert und [name] für einen Schalter; --help, -s/--siteaccess, --allow-root-user und die Debug-Optionen werden automatisch ergänzt.

Siteaccess, Benutzer und root

  • -s <siteaccess> wählt die Einstellungen aus; Erweiterungen, die nur in diesem Siteaccess aktiv sind, benötigen es.
  • Der Benutzer ist anonym. Ein Befehl, der Inhalte schreibt, meldet einen eigenen Benutzer an (eZUser::setCurrentlyLoggedInUser( $user, $user->id() )), niemals den gemeinsam genutzten Administrator.
  • Skripte verweigern die Ausführung als root, sofern nicht --allow-root-user angegeben ist; führen Sie sie als Benutzer des Webservers aus, denn Dateien, die ein root-Prozess in var/ schreibt, beschädigen die Website später.
  • Der Exit-Code wird unverändert zurückgegeben: shutdown( 0 ) bei Erfolg, jeder andere Wert bei einem Fehler.
  • Bieten Sie für jeden Befehl, der schreibt oder löscht, --dry-run an, und nehmen Sie niemals Passwörter als Optionen entgegen.

Befehle, die Sie täglich verwenden

BefehlWirkung
exp:ezpgenerateautoloads -eAutoloads der Erweiterungen nach dem Hinzufügen von Klassen neu erzeugen
exp:ezcache --clear-tag=iniCaches nach Tag oder ID leeren
exp:cache statusjede Cache-Ebene, PASS oder FAIL
exp:ini get/set/whereEinstellungen lesen und ändern
exp:velocity deployAutoloads, Caches, PHP-Reload, Velocity-Neustart, in der richtigen Reihenfolge
exp:installeine neue Installation mit einem Befehl (Installation mit einem Befehl)
exp:help check, exp:help searchLinkprüfung und Suche der Hilfe
exp:maintenance on/offWartungsmodus
cron:<part>einen Cronjob-Teil ausführen

Im Vergleich mit anderen Frameworks

FrameworkKonzeptExponential
Symfonyals Services registrierte Befehle, #[AsCommand]anhand des Speicherorts gefundene Dateien, Exponential\Runnable\Command
LaravelArtisan-Befehle, $signaturedie Optionszeichenkette von startup() / getOptions()
DjangoManagement-Befehle in management/commands/Skripte in extension/<ext>/bin/php/
RailsRake-Tasks, bin/rails-Befehledasselbe
SpringCommandLineRunnereine Befehlsklasse

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