Zum Inhalt

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