Passa al contenuto principale

Console

Flarum consente agli sviluppatori di estensioni di aggiungere comandi personalizzati nella console oltre a quelli di default insiti nel core di Flarum.

Tutto lo sviluppo dei comandi della console viene eseguito nel back-end utilizzando PHP. Per creare un comando della console personalizzato, dovrai creare una classe che estende \Flarum\Console\AbstractCommand.

use Flarum\Console\AbstractCommand;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\MiddlewareInterface;
use Psr\Http\Server\RequestHandlerInterface;

class YourCommand implements AbstractCommand {
protected function configure()
{
$this
->setName('IL TUO COMANDO QUI')
->setDescription('LA DESCRIZIONE DLE TUO COMANDO');
}
protected function fire()
{
// La tua logica qui!
}
}
$ flarum-cli make backend command

:::

Registrazione dei comandi della Console

Per registrare i comandi della console, usa l'estensore Flarum\Extend\Console nel file extend.php della tua estensione:

use Flarum\Extend;
use YourNamespace\Console\CustomCommand;

return [
// Other extenders
(new Extend\Console())->command(CustomCommand::class)
// Other extenders
];

Scheduled Commands

La fof/console library consente di programmare l'esecuzione dei comandi a intervalli regolari!

use Flarum\Extend;
use YourNamespace\Console\CustomCommand;
use Illuminate\Console\Scheduling\Event;

return [
// Other extenders
(new Extend\Console())->schedule('cache:clear', function (Event $event) {
$event->everyMinute();
}, ['Arg1', '--option1', '--option2']),
// Other extenders
];

Nella callback fornita come secondo argomento, puoi chiamare metodi sull'oggetto $event per pianificare operazioni ricorrenti (o applicare altre opzioni). Vedi la documentazione Laravel per maggiori informazioni.