So erstellen Sie schnell Befehlszeilenanwendungen mit PHP
Wenn Sie ein Web
Entwicklungsingenieur sind, müssen Sie PHP
verwendet haben, um viele Web
Anwendungen zu entwickeln. Aber wissen Sie, wie Sie mit PHP
schnell eine Befehlszeilenanwendung (Tool) erstellen? Im Folgenden zeige ich Ihnen, wie Sie mit PHP
und einem berühmten Composer
-Erweiterungspaket – Symphony/Console – eine Befehlszeilenanwendung erstellen .
Symphony/Console ist ein Composer
Erweiterungspaket, das mit PHP
verwaltet wird und den Prozess der Erstellung einer schönen, testbaren PHP
Befehlszeilenanwendung vereinfacht, die sofort einsatzbereite Funktionen bietet, wie z (optionale/erforderliche) Parameterspezifikation und Optionsspezifikation (unter Verwendung des -
-Symbols). Beginnen wir also gemeinsam mit der Erstellung unserer Anwendung.
Wie üblich werden wir eine „Hello World“-Konsolenanwendung erstellen, diese jedoch leicht modifizieren, sodass sie eine benutzerdefinierte Begrüßung (anstelle von „Hello“) unterstützt und jemanden nach Belieben begrüßen kann (anstelle von „World“).
Diese Hello World-App verfügt über die folgende Funktionalität:
stellt uns einen separaten
greet
(Begrüßungs-)Befehl zur Verfügung, den wir für die Interaktion mit dem App-Programm verwenden Interaktion.greet
kann einen optionalen Parameter (name
) akzeptieren, um die Person auszudrucken, die begrüßt wird (Standard ist Welt).greet
kann eine Option (--say
) akzeptieren, um die Begrüßung zu ändern (Standard ist Hallo).Wenn wir Parameter oder Optionen angeben, gibt das Programm standardmäßig eine
Hello World
-Meldung aus.
So erstellen Sie eine Befehlszeilenanwendung mit PHP
-
Erstellen Sie ein neues Verzeichnis für unser Projekt und
cd
geben Sie es ein:mkdir hello-world-app && cd hello-world-app
Nach dem Login kopierenNach dem Login kopieren -
Verwenden Sie Composer, um die Konsolenkomponente in unser Projekt zu integrieren
composer require symfony/console
Nach dem Login kopierenNach dem Login kopieren -
Erstellen Sie dann einen Einstiegspunkt für Ihre Anwendung, die PHP-Erweiterung Nicht erforderlich, da wir diese Datei ausführbar machen und die Umgebung in der Datei selbst angeben.
touch HelloWorld chmod +X HelloWorld
Nach dem Login kopierenNach dem Login kopieren -
Fügen Sie den folgenden Code zur
HelloWorld
-Datei hinzu (ich werde jede Zeile später mit Anmerkungen versehen) und führen SieHelloWorld
diese Anwendung in Ihrem Terminal aus.#!/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();
Nach dem Login kopierenNach dem Login kopieren
Sehen Sie, Sie haben Ihr eigenes HelloWorld
Konsolenprogramm
wenn nichts angegeben ist. Beim Befehl gibt HelloWorld einen Bildschirm mit Informationen aus Standardmäßig bietet die Komponente
Symfony Console
mehrere Optionen und Befehle, die sofort für die Anwendung verfügbar sind, wie z. B. help
, list
und --version
Erklärung von der Inhalt dieser magischen Datei
OK, werfen wir einen Blick auf den Code in unserer HelloWorld
-Datei.
Wir führen
autoload.php
ein, um das voncomposer
bereitgestellte automatische Laden und die verschiedenen von der Konsolenkomponente bereitgestellten Funktionen zu verwenden.
InputInterface
und OutputInterface
vereinfachen die Eingabe- und Ausgabefunktionen der Anwendung, InputArgument
und InputOption
helfen uns bei der Handhabung der an uns übergebenen Eingabe- und Ausgabefunktionen HelloWorld-Anwendung. Optionen und Parameter.
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
Instanziieren Sie eine neue Anwendung mit NamenHelloWorld (v1.0.0)
und registrieren Sie unserengreet
-Befehl.(new Application('Hello World', '1.0.0')) ->register('greet')
Nach dem Login kopierenNach dem Login kopieren -
Wir fügen einen optionalen
name
-Parameter (addArgument()
) hinzu und stellen eine kurze Beschreibung des Parameters bereit. Dann fügen wir mit dieseraddOption()
-Methode einesay
-Option hinzu. Beachten Sie, dass Optionen immer optional sind. Sie können jedoch einen zu übergebenden Wert angeben oder ihn einfach als Referenz auf einen booleschen Bezeichner verwenden. Der Code in der Methode->addArgument('name', InputArgument::OPTIONAL, 'Name of the person') ->addOption('say', null, InputOption::VALUE_REQUIRED, 'Custom greeting')
Nach dem Login kopierenNach dem Login kopieren -
setCode()
enthält die Hauptlogik unserer Anwendung, die basierend auf den übergebenen Parametern und Optionen eine Begrüßung an das Terminal druckt. Wir hören auf das$input
-Objekt und verwenden die HilfsmethodengetArgument()
undgetOption()
, um die angreet
übergebenen Optionen und Parameter abzurufen. Dann müssen wir nur noch prüfen, welche Parameter oder Optionen übergeben werden, und entsprechend reagieren (mit das$output
-Objekt) gibt eine Begrüßung an die Konsolenausgabe aus. Diesewriteln()
-Methode kann Text anhand von Tags formatieren, z. B. indeminfo
,error
undwarning
in verschiedenen Farben ausgegeben werden.->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>"); } })
Nach dem Login kopierenNach dem Login kopieren -
Zuletzt booten wir die
并调用他的
-Methode der Anwendung, sodass sie jederzeit bereit ist,greet
-Befehle zu empfangen und zu verarbeiten.->getApplication() ->run();
Nach dem Login kopierenNach dem Login kopieren
Jetzt schauen wir uns unser HelloWorld-Programm in einem Beispiel an
-
greet
Keine Parameter und Optionen übergeben
greet
hat ein optionalesname
-Argument
greet
Passen Sie Ihre Begrüßung mit der Optionsay
an
Schließlich
greet
Begrüßungen anpassen und Personen begrüßen
Über den Autor
Programmentwickler, nicht Beschränkt auf Sprache und Technologie, beschäftigt sich derzeit hauptsächlich mit PHP und Front-End-Entwicklung unter Verwendung von Laravel und VueJs. Eignung und Genügsamkeit sind die niemals endenden Ziele.Persönliche Website: https://www.linganmin.cn
Anmerkung des Übersetzers: Einige Links und Bildadressen in diesem Artikel wurden durch inländische Adressen ersetzt. Bitte korrigieren Sie mich, wenn es Übersetzungen gibt Fehler.
Viel Spaß beim Codieren!
Ursprüngliche Adresse: Wie erstelle ich eine Befehlszeilenanwendung mit PHP?
Wenn Sie ein Web
Entwicklungsingenieur sind, müssen SieViele PHP
Anwendungen entwickelt. Aber wissen Sie, wie Sie mit Web
schnell eine Befehlszeilenanwendung (Tool) erstellen? Im Folgenden zeige ich Ihnen, wie Sie mit PHP
und einem berühmten PHP
-Erweiterungspaket – Symphony/Console – eine Befehlszeilenanwendung erstellen . Composer
Erweiterungspaket, das mit Composer
verwaltet wird und den Prozess der Erstellung einer schönen, testbaren PHP
Befehlszeilenanwendung vereinfacht, die sofort einsatzbereite Funktionen bietet, wie z (optionale/erforderliche) Parameterspezifikation und Optionsspezifikation (unter Verwendung des PHP
-Symbols). Beginnen wir also gemeinsam mit der Erstellung unserer Anwendung. -
- stellt uns einen separaten
(Begrüßungs-)Befehl zur Verfügung, den wir für die Interaktion mit dem App-Programm verwenden Interaktion.
greet
kann einen optionalen Parameter (
greet
) akzeptieren, um die Person auszudrucken, die begrüßt wird (Standard ist Welt).name
kann eine Option (
greet
) akzeptieren, um die Begrüßung zu ändern (Standard ist Hallo).--say
- Wenn wir Parameter oder Optionen angeben, gibt das Programm standardmäßig eine
-Meldung aus.
Hello World
- Erstellen Sie ein neues Verzeichnis für unser Projekt und
geben Sie es ein:
cd
mkdir hello-world-app && cd hello-world-app
Nach dem Login kopierenNach dem Login kopieren - Verwenden Sie Composer, um die Konsolenkomponente in unser Projekt zu integrieren
composer require symfony/console
Nach dem Login kopierenNach dem Login kopieren - Erstellen Sie dann einen Einstiegspunkt für Ihre Anwendung, die PHP-Erweiterung Nicht erforderlich, da wir diese Datei ausführbar machen und die Umgebung in der Datei selbst angeben.
touch HelloWorld chmod +X HelloWorld
Nach dem Login kopierenNach dem Login kopieren - Fügen Sie den folgenden Code zur
-Datei hinzu (ich werde jede Zeile später mit Anmerkungen versehen) und führen Sie
HelloWorld
diese Anwendung in Ihrem Terminal aus.HelloWorld
#!/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();
Nach dem Login kopierenNach dem Login kopieren
KonsolenprogrammHelloWorld
wenn nichts angegeben ist. Beim Befehl gibt HelloWorld einen Bildschirm mit Informationen aus Standardmäßig bietet die Komponente
mehrere Optionen und Befehle, die sofort für die Anwendung verfügbar sind, wie z. B. Symfony Console
, help
und list
--version
-Datei. HelloWorld
- Wir führen
ein, um das von
autoload.php
bereitgestellte automatische Laden und die verschiedenen von der Konsolenkomponente bereitgestellten Funktionen zu verwenden.composer
und InputInterface
vereinfachen die Eingabe- und Ausgabefunktionen der Anwendung, OutputInterface
und InputArgument
helfen uns bei der Handhabung der an uns übergebenen Eingabe- und Ausgabefunktionen HelloWorld-Anwendung. Optionen und Parameter. InputOption
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;
-
Instanziieren Sie eine neue Anwendung mit Namen
symphony/console
und registrieren Sie unserenHelloWorld (v1.0.0)
-Befehl.greet
(new Application('Hello World', '1.0.0')) ->register('greet')
Nach dem Login kopierenNach dem Login kopieren -
我们添加一个可选的
name
参数(addArgument()
),并提供参数的简短描述。然后,我们使用这个addOption()
方法添加一个say
选项。请注意,选项始终是可选的,但您可以指定要传递的值,也可以仅仅将其用作指boolean标识。->addArgument('name', InputArgument::OPTIONAL, 'Name of the person') ->addOption('say', null, InputOption::VALUE_REQUIRED, 'Custom greeting')
Nach dem Login kopierenNach dem Login kopieren -
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>"); } })
Nach dem Login kopierenNach dem Login kopieren -
最后我们引导应用程序
并调用他的
方法,以便他做好随时接收和处理greet
命令。->getApplication() ->run();
Nach dem Login kopierenNach dem Login kopieren
现在让我们在实例中看看我们HelloWorld程序
greet
不传递任何参数和选项
greet
有一个可选的name
参数
greet
使用say
选项自定义问候语
最后,
greet
自定义问候语和问候人
相关推荐:
Das obige ist der detaillierte Inhalt vonSo erstellen Sie schnell Befehlszeilenanwendungen mit PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.
