Benutzerdefinierte Konsolen-Befehle¶
Im Contentfly CMS können eigene Konsolen-Befehle erstellt und über die Konsole gestartet werden.
Konsolen-Befehl anzeigen¶
Alle verfügbaren Konsolen-Befehle (auch Standard-Befehle wie die von Doctrine) können über folgenden Befehl im Ordner appcms aufgelistet werden:
/appcms
1 | php console.php |
Konsolen-Befehl anlegen¶
Anlegen eines Befehles unter custom/Commands/[CommandName].php als abgeleitete Klasse von _Areanet\PIM\Classes\Command\CustomCommand
Beispiel
custom/Commands/DatabaseImport.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <?php namespace Custom\Command; use Areanet\PIM\Classes\Command\CustomCommand; class DatabaseImport extends CustomCommand { protected function configure() { parent::configure(); $this ->setName('test:start') ->setDescription('Test-Befehl') ; } protected function execute(InputInterface $input, OutputInterface $output) { $app = $this->getSilexApplication(); $this->em = $app['orm.em']; //.... $output->writeln("<info>Der Import wurde erfolgreich durchgeführt.</info>"); } } |
Hinweis
Weitere Informationen finden Sie unter symfony.com/doc/current/console.html
Konsolen-Befehl registrieren¶
Der angelegte Konsolen-Befehl muss zum Abschluss noch in der custom/app.php bekannt gemacht werden.
1 2 | <?php $app['consoleManager']->addCommand(new \Custom\Command\DatabaseImport()); |
Konsolen-Befehl ausführen¶
In der Konsole (Shell) im Ordner appcms/
1 | php console.php custom:test:start |
Alternative Konfiguration laden¶
Im Standard verwendet die Konsole die Default-Konfiguration. Um eine andere Konfiguration (z.B. Datenbank) zu verwenden, müssen Sie den Server-Namen custom/config.php mit übergeben:
1 | SERVER_NAME="[SERVER_NAME]" php console.php custom:test:start |