


Comment créer rapidement des applications en ligne de commande en utilisant PHP
Si vous êtes un Web
ingénieur de développement, alors vous devez avoir utilisé PHP
pour développer de nombreuses Web
applications. Mais savez-vous comment utiliser PHP
pour créer rapidement une application en ligne de commande (outil) ? Ci-dessous, je vais vous montrer comment utiliser PHP
et un célèbre package d'extension Composer
- Symphony/Console pour créer une application en ligne de commande. .
Symphony/Console est un package d'extension Composer
géré avec PHP
qui simplifie le processus de création d'une belle application en ligne de commande PHP
testable, qui fournit des fonctionnalités prêtes à l'emploi telles que (facultatif/obligatoire) spécification des paramètres et spécification des options (à l'aide du symbole -
). Alors commençons à construire notre application ensemble.
Comme d'habitude, nous allons créer une application console "Hello World", mais la modifierons légèrement pour qu'elle prenne en charge un message d'accueil personnalisé (au lieu de Hello) et puisse saluer quelqu'un à volonté (au lieu du monde).
Cette application Hello World aura la fonctionnalité suivante :
nous fournit une commande
greet
(salutation) distincte que nous utiliserons pour interagir avec le programme de l'application. interaction.greet
peut accepter un paramètre facultatif (name
) pour imprimer la personne accueillie (la valeur par défaut est Monde).greet
peut accepter une option (--say
) pour modifier le message d'accueil (la valeur par défaut est Bonjour).Si nous fournissons des paramètres ou des options, le programme affichera un message
Hello World
par défaut.
Comment créer une application en ligne de commande en utilisant PHP
-
Créez un nouveau répertoire pour notre projet et
cd
entrez-le :mkdir hello-world-app && cd hello-world-app
Copier après la connexionCopier après la connexion -
Utilisez Composer pour amener le composant console dans notre projet
composer require symfony/console
Copier après la connexionCopier après la connexion -
Créez ensuite un point d'entrée pour votre application, l'extension PHP est non obligatoire car nous rendons ce fichier exécutable et spécifions l'environnement dans le fichier lui-même.
touch HelloWorld chmod +X HelloWorld
Copier après la connexionCopier après la connexion -
Ajoutez le code suivant au fichier
HelloWorld
(j'annoterai chaque ligne plus tard), et exécutezHelloWorld
cette application dans votre terminal .#!/usr/bin/env php <?php require __DIR__.'/vendor/autoload.php'; use Symfony\Component\Console\Application; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; (new Application('Hello World', '1.0.0')) ->register('greet') ->addArgument('name', InputArgument::OPTIONAL, 'Name of the person') ->addOption('say', null, InputOption::VALUE_REQUIRED, 'Custom greeting') ->setCode(function (InputInterface $input, OutputInterface $output) { $name = $input->getArgument('name'); $greeting = $input->getOption('say'); if (!empty($name) && !empty($greeting)) { return $output->writeln("<info>$greeting $name!</info>"); } else if (!empty($name)) { return $output->writeln("<info>Hello $name!</info>"); } else if (!empty($greeting)) { return $output->writeln("<info>$greeting World!</info>"); } else { return $output->writeln("<info>Hello World!</info>"); } }) ->getApplication() ->run();
Copier après la connexionCopier après la connexion
Écoutez, vous avez votre propre HelloWorld
programme de console
lorsque rien n'est spécifié Lors de la commande, HelloWorld affiche un écran d'informations en par défaut. Le composant
Symfony Console
nous fournit plusieurs options et commandes disponibles prêtes à l'emploi pour l'application, telles que help
, list
et --version
Explication de le contenu de ce fichier magique
OK, jetons un œil au code dans notre HelloWorld
fichier.
Nous introduisons
autoload.php
pour utiliser le chargement automatique fourni parcomposer
et les différentes fonctions fournies par le composant console.
InputInterface
et OutputInterface
rendront les fonctions d'entrée et de sortie de l'application simples, InputArgument
et InputOption
nous aideront à gérer les fonctions d'entrée et de sortie transmises à notre Application HelloWorld.Options et paramètres.
require __DIR__.'/vendor/autoload.php'; use Symfony\Component\Console\Application; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface;
-
symphony/console
Instanciez une nouvelle application par son nomHelloWorld (v1.0.0)
et enregistrez notre commandegreet
.(new Application('Hello World', '1.0.0')) ->register('greet')
Copier après la connexionCopier après la connexion -
Nous ajoutons un paramètre facultatif
name
(addArgument()
) et fournissons une brève description du paramètre. Ensuite, nous ajoutons une optionaddOption()
en utilisant cette méthodesay
. Notez que les options sont toujours facultatives, mais vous pouvez spécifier une valeur à transmettre ou simplement l'utiliser comme référence à un identifiant booléen. Le code de la méthode->addArgument('name', InputArgument::OPTIONAL, 'Name of the person') ->addOption('say', null, InputOption::VALUE_REQUIRED, 'Custom greeting')
Copier après la connexionCopier après la connexion -
setCode()
contiendra la logique principale de notre application, qui imprimera un message d'accueil au terminal en fonction des paramètres et des options transmises. Nous écoutons l'objet$input
et utilisons les méthodes d'assistancegetArgument()
etgetOption()
pour obtenir les options et les paramètres transmis àgreet
. Ensuite, il nous suffit de vérifier quels paramètres ou options sont transmis et de répondre en conséquence (en utilisant. l'objet$output
) imprime un message d'accueil sur la sortie de la console. Cette méthodewriteln()
peut formater le texte en fonction de balises, telles que la sortieinfo
,error
etwarning
dans différentes couleurs.->setCode(function (InputInterface $input, OutputInterface $output) { $name = $input->getArgument('name'); $greeting = $input->getOption('say'); if (!empty($name) && !empty($greeting)) { return $output->writeln("<info>$greeting $name!</info>"); } else if (!empty($name)) { return $output->writeln("<info>Hello $name!</info>"); } else if (!empty($greeting)) { return $output->writeln("<info>$greeting World!</info>"); } else { return $output->writeln("<info>Hello World!</info>"); } })
Copier après la connexionCopier après la connexion -
Enfin, nous amorçons la méthode
并调用他的
de l'application afin qu'elle soit prête à recevoir et traiter les commandesgreet
à tout moment.->getApplication() ->run();
Copier après la connexionCopier après la connexion
Jetons maintenant un coup d'œil à notre programme HelloWorld dans un exemple
-
greet
Ne transmettant aucun paramètre ni option
greet
a un argumentname
facultatif
greet
Personnalisez votre message d'accueil à l'aide de l'optionsay
Enfin,
greet
Personnaliser les salutations et saluer les gens
À propos de l'auteur
Développeur de programme, non limité au langage et à la technologie, actuellement principalement engagé dans le développement PHP et front-end, en utilisant Laravel et VueJs. L'adéquation et la suffisance sont des objectifs sans fin.Site Web personnel : https://www.linganmin.cn
Note du traducteur : certains liens et adresses d'images dans cet article ont été remplacés par des adresses nationales. Veuillez me corriger s'il y a une traduction. erreurs.
Bon codage !
Adresse d'origine : Comment créer une application en ligne de commande en utilisant PHP ?
Si vous êtes un Web
ingénieur de développement, alors vous devez utiliserPHP
Développement de nombreuses Web
applications. Mais savez-vous comment utiliser PHP
pour créer rapidement une application en ligne de commande (outil) ? Ci-dessous, je vais vous montrer comment utiliser PHP
et un célèbre package d'extension Composer
- Symphony/Console pour créer une application en ligne de commande. .
Symphony/Console est un package d'extension Composer
géré avec PHP
qui simplifie le processus de création d'une belle application en ligne de commande PHP
testable, qui fournit des fonctionnalités prêtes à l'emploi telles que (facultatif/obligatoire) spécification des paramètres et spécification des options (à l'aide du symbole -
). Alors commençons à construire notre application ensemble.
Comme d'habitude, nous allons créer une application console "Hello World", mais la modifierons légèrement pour qu'elle prenne en charge un message d'accueil personnalisé (au lieu de Hello) et puisse saluer quelqu'un à volonté (au lieu du monde).
Cette application Hello World aura la fonctionnalité suivante :
nous fournit une commande
greet
(salutation) distincte que nous utiliserons pour interagir avec le programme de l'application. interaction.greet
peut accepter un paramètre facultatif (name
) pour imprimer la personne accueillie (la valeur par défaut est Monde).greet
peut accepter une option (--say
) pour modifier le message d'accueil (la valeur par défaut est Bonjour).Si nous fournissons des paramètres ou des options, le programme affichera un message
Hello World
par défaut.
Comment créer une application en ligne de commande en utilisant PHP
-
Créez un nouveau répertoire pour notre projet et
cd
entrez-le :mkdir hello-world-app && cd hello-world-app
Copier après la connexionCopier après la connexion -
Utilisez Composer pour amener le composant console dans notre projet
composer require symfony/console
Copier après la connexionCopier après la connexion -
Créez ensuite un point d'entrée pour votre application, l'extension PHP est non obligatoire car nous rendons ce fichier exécutable et spécifions l'environnement dans le fichier lui-même.
touch HelloWorld chmod +X HelloWorld
Copier après la connexionCopier après la connexion -
Ajoutez le code suivant au fichier
HelloWorld
(j'annoterai chaque ligne plus tard), et exécutezHelloWorld
cette application dans votre terminal .#!/usr/bin/env php <?php require __DIR__.'/vendor/autoload.php'; use Symfony\Component\Console\Application; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; (new Application('Hello World', '1.0.0')) ->register('greet') ->addArgument('name', InputArgument::OPTIONAL, 'Name of the person') ->addOption('say', null, InputOption::VALUE_REQUIRED, 'Custom greeting') ->setCode(function (InputInterface $input, OutputInterface $output) { $name = $input->getArgument('name'); $greeting = $input->getOption('say'); if (!empty($name) && !empty($greeting)) { return $output->writeln("<info>$greeting $name!</info>"); } else if (!empty($name)) { return $output->writeln("<info>Hello $name!</info>"); } else if (!empty($greeting)) { return $output->writeln("<info>$greeting World!</info>"); } else { return $output->writeln("<info>Hello World!</info>"); } }) ->getApplication() ->run();
Copier après la connexionCopier après la connexion
Écoutez, vous avez votre propre HelloWorld
programme de console
lorsque rien n'est spécifié Lors de la commande, HelloWorld affiche un écran d'informations en par défaut. Le composant
Symfony Console
nous fournit plusieurs options et commandes disponibles prêtes à l'emploi pour l'application, telles que help
, list
et --version
Explication de le contenu de ce fichier magique
OK, jetons un œil au code dans notre HelloWorld
fichier.
Nous introduisons
autoload.php
pour utiliser le chargement automatique fourni parcomposer
et les différentes fonctions fournies par le composant console.
InputInterface
et OutputInterface
rendront les fonctions d'entrée et de sortie de l'application simples, InputArgument
et InputOption
nous aideront à gérer les fonctions d'entrée et de sortie transmises à notre Application HelloWorld.Options et paramètres.
require __DIR__.'/vendor/autoload.php'; use Symfony\Component\Console\Application; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface;
-
symphony/console
Instancier une nouvelle application par son nomHelloWorld (v1.0.0)
et enregistrer notre commandegreet
.(new Application('Hello World', '1.0.0')) ->register('greet')
Copier après la connexionCopier après la connexion -
我们添加一个可选的
name
参数(addArgument()
),并提供参数的简短描述。然后,我们使用这个addOption()
方法添加一个say
选项。请注意,选项始终是可选的,但您可以指定要传递的值,也可以仅仅将其用作指boolean标识。->addArgument('name', InputArgument::OPTIONAL, 'Name of the person') ->addOption('say', null, InputOption::VALUE_REQUIRED, 'Custom greeting')
Copier après la connexionCopier après la connexion -
setCode()
方法中的代码会包含我们应用程序的主逻辑,它会根据传递的参数和选项打印一个问候语到终端。我们监听$input
对象,使用getArgument()
和getOption()
辅助方法获取传递给greet
的选项和参数,然后,我们只需要检查传递了哪些参数或者选项,并相应的(使用$output
对象)向控制台输出打印问候语。这个writeln()
方法可以根据标签格式化文本,比如输出不同颜色的info
,error
和warning
。->setCode(function (InputInterface $input, OutputInterface $output) { $name = $input->getArgument('name'); $greeting = $input->getOption('say'); if (!empty($name) && !empty($greeting)) { return $output->writeln("<info>$greeting $name!</info>"); } else if (!empty($name)) { return $output->writeln("<info>Hello $name!</info>"); } else if (!empty($greeting)) { return $output->writeln("<info>$greeting World!</info>"); } else { return $output->writeln("<info>Hello World!</info>"); } })
Copier après la connexionCopier après la connexion -
最后我们引导应用程序
并调用他的
方法,以便他做好随时接收和处理greet
命令。->getApplication() ->run();
Copier après la connexionCopier après la connexion
现在让我们在实例中看看我们HelloWorld程序
greet
不传递任何参数和选项
greet
有一个可选的name
参数
greet
使用say
选项自定义问候语
最后,
greet
自定义问候语和问候人
相关推荐:
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Travailler avec la base de données dans CakePHP est très simple. Nous comprendrons les opérations CRUD (Créer, Lire, Mettre à jour, Supprimer) dans ce chapitre.

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

Dans ce chapitre, nous allons apprendre les sujets suivants liés au routage ?

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c
