Dans de nombreux langages de programmation, la fonction principale est le point d'entrée du programme. Bien que PHP n'ait pas obligé la définition des fonctions principales , nous pouvons simuler cette structure, en particulier lors de l'écriture de scripts de ligne de commande, la structure du code organisationnel est plus claire et plus facile à entretenir.
Cet article présentera comment personnaliser une fonction principale dans PHP et implémenter une démonstration de base des opérations de script de ligne de commande. Dans l'exemple, nous traiterons les paramètres de ligne de commande, effectuerons une logique simple et montrerons comment implémenter des outils de ligne de commande comme l'utilisation de scripts PHP.
En tant que langue de script, PHP exécute des fichiers et exécute du code. Il n'y a pas de fonction d'entrée forcée comme C et Java, mais nous pouvons personnaliser une fonction principale et y écrire la logique du programme. Enfin, appelez simplement Main () pour réaliser une entrée unifiée.
<?php
function main(array $argv) {
// Entrée du programme,$argv C'est un tableau de paramètres de ligne de commande
}
main($argv);
$ argv est une variable globale automatiquement définie par PHP et contient tous les paramètres passés dans la ligne de commande.
En transmettant $ argv , vous pouvez utiliser les paramètres de ligne de commande directement dans Main , ce qui est pratique pour les tests et l'extension.
Les scripts de ligne de commande PHP ont souvent besoin de traiter les paramètres. Nous pouvons utiliser des boucles simples et changer pour implémenter l'analyse des paramètres, ou nous pouvons utiliser la fonction getOPT () .
L'exemple suivant implémente un script simple qui prend en charge -H de l'aide de visualisation, -n, passant dans un nom et des salutations d'impression.
<?php
function printHelp() {
echo "Usage: php script.php [-h] [-n name]\n";
echo "Options:\n";
echo " -h Show help message\n";
echo " -n name Specify the name to greet\n";
}
function main(array $argv) {
$name = null;
$argc = count($argv);
for ($i = 1; $i < $argc; $i++) {
switch ($argv[$i]) {
case '-h':
printHelp();
return 0;
case '-n':
if (isset($argv[$i + 1])) {
$name = $argv[++$i];
} else {
echo "Error: -n option requires a name.\n";
return 1;
}
break;
default:
echo "Unknown option: {$argv[$i]}\n";
return 1;
}
}
if ($name) {
echo "Hello, {$name}!\n";
} else {
echo "Hello, World!\n";
}
return 0;
}
exit(main($argv));
Exemple d'exécution:
php script.php -h
php script.php -n Alice
En supposant que le script doit obtenir des données du réseau, l'exemple démontre en utilisant File_get_gents () de PHP pour demander une URL, puis traiter le contenu de retour.
Veuillez noter que selon vos besoins, le nom de domaine doit être remplacé par m66.net .
<?php
function fetchData(string $url) {
$content = @file_get_contents($url);
if ($content === false) {
echo "Failed to fetch data from {$url}\n";
return null;
}
return $content;
}
function main(array $argv) {
$url = "http://m66.net/api/data";
$data = fetchData($url);
if ($data === null) {
return 1;
}
echo "Received data:\n";
echo $data . "\n";
return 0;
}
exit(main($argv));
PHP n'a pas de fonction principale intégrée, mais elle peut être implémentée de manière personnalisée pour normaliser les entrées de programme.
Utilisez la variable $ argv pour traiter les paramètres de ligne de commande et écrivez des scripts flexibles.
Combiné avec les fonctions standard de PHP, il peut implémenter des demandes de réseau, des opérations de fichiers et d'autres fonctions pour créer des outils de ligne de commande puissants.
Grâce aux méthodes ci-dessus, vous pouvez facilement implémenter des scripts de ligne de commande PHP personnalisés et garder la structure de code claire, ce qui facilite la maintenance et l'élargissement par la suite.