Passa al contenuto principale
The translation of this page may not be up to date, please refer to the default locale version for the latest information. If you would like to contribute, you can do so via Crowdin, where we coordinate the translations.
Version: 1.x

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.