Maison  >  Article  >  développement back-end  >  Comment utiliser une application en ligne de commande avec le framework Aura ?

Comment utiliser une application en ligne de commande avec le framework Aura ?

王林
王林original
2023-06-04 08:51:021371parcourir

Le framework Aura est un framework léger basé sur le langage PHP. Il fournit de nombreux outils et fonctions pour aider les développeurs à créer rapidement des applications Web de haute qualité. L'une des fonctionnalités très pratiques consiste à utiliser des applications en ligne de commande pour accélérer le processus de développement. Cet article explique comment utiliser les applications en ligne de commande dans le framework Aura.

Qu'est-ce qu'une application en ligne de commande ?

Une application en ligne de commande est un programme exécuté via une commande de console, telle que l'invite de commande sous Windows ou le terminal sous Linux. L'utilisation d'applications en ligne de commande est pratique pour les tâches de traitement par lots et d'automatisation, et peut également être utilisée pour des tests et un débogage rapides pendant le développement.

Créer une application en ligne de commande dans le framework Aura

Afin de créer une application en ligne de commande, nous devons installer le composant Aura.Cli, qui peut être installé à l'aide de Composer : #🎜 🎜#

composer require aura/cli

Une fois l'installation terminée, effectuez l'initialisation suivante dans le fichier d'entrée de l'application :

// Initialize Aura.Di
$di = new AuraDiContainerBuilder();
$di->newInstance();

// Initialize Aura.Cli
$context = new AuraCliContextOptionFactory();    
$stdio   = new AuraCliStdioHandle();

$cli = new AuraCliCliFactory($context);    
$runner = $cli->newRunner([
    'stdio' => $stdio,
]);

Ici, nous utilisons Aura.Di pour créer un conteneur d'injection de dépendances et le créer utilisant Aura.Cli Un exécuteur pour les applications CLI.

Ensuite, nous pouvons utiliser la méthode $runner->append() pour ajouter l'action de l'application en ligne de commande. Par exemple, nous avons créé une opération nommée "hello" avec le code suivant :

// Create a 'hello' action
class HelloWorldAction extends AuraCliActionAbstractAction
{
    public function __invoke()
    {
        $this->getStdout()->outln("Hello, world!");
    }
}
$runner->append('hello', new HelloWorldAction);
$runner->append()方法来添加命令行应用程序的操作(Action)。例如,我们创建了一个名为“hello”的操作,代码如下:

php application.php hello

用上述方法创建的操作,可以在命令行中调用:

// Create a 'greet' action
class GreetAction extends AuraCliActionAbstractAction
{
    public function __invoke($name = null)
    {
        if (!$name) {
            $name = $this->getStdin()->in('What is your name? ');
        }

        $this->getStdout()->outln("Hello, {$name}!");
    }

    public function defineOptions($opts)
    {
        $opts->addOpt('n|name:', 'Your name');
    }

    public function defineArgs($args)
    {
        $args->add('name', 'Your name', true);
    }
}
$runner->append('greet', new GreetAction);

这条命令将会输出“Hello, world!”这句话。

接下来,我们可以为操作添加参数和选项,例如:

php application.php greet --name John

用上述代码创建的操作,可以在命令行中这样调用:

rrreee

这条命令将会输出“Hello, John!”这句话。如果没有提供--nameL'opération créée avec la méthode ci-dessus peut être appelée dans la ligne de commande :

rrreee

This Cette commande affichera la phrase "Bonjour tout le monde !".

Ensuite, nous pouvons ajouter des paramètres et des options à l'opération, par exemple :

rrreee#🎜🎜#L'opération créée avec le code ci-dessus peut être appelée comme ceci dans la ligne de commande : # 🎜🎜#rrreee#🎜🎜#Cette commande affichera la phrase "Bonjour, John !". Si l'option --name n'est pas fournie, l'utilisateur sera invité à saisir un nom. #🎜🎜##🎜🎜#Conclusion#🎜🎜##🎜🎜#Il est très pratique d'utiliser des applications en ligne de commande dans le framework Aura. Nous pouvons utiliser les méthodes ci-dessus pour créer facilement nos propres applications en ligne de commande et les utiliser pour accélérer notre processus de développement. Si vous n’avez pas essayé d’utiliser une application en ligne de commande, c’est le bon moment. #🎜🎜#

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn