Commandoregelargumenten lezen

PHP:
Commandoregelargumenten lezen

Hoe:

PHP gebruikt een globale array $argv om opdrachtregelargumenten op te slaan, waarbij $argv[0] de scriptnaam is. Zo gebruik je het:

<?php
// controleer of er argumenten zijn doorgegeven
if ($argc > 1) {
    echo "Hallo, " . $argv[1] . "!\n";
} else {
    echo "Hallo, wie je ook bent!\n";
}
?>

Als je dit script sayhello.php noemt en uitvoert met php sayhello.php World, is de uitvoer:

Hallo, World!

Geen argumenten? Je krijgt:

Hallo, wie je ook bent!

Diepgaand

Historisch gezien zijn opdrachtregelscripts de basis van systeemautomatisering geweest, lang voordat GUI’s de overhand namen. PHP, hoewel veel gebruikt voor webontwikkeling, biedt ook robuuste CLI-ondersteuning.

Twee hoofdmanieren om argumenten in PHP te lezen zijn $argv en de functie getopt(). De eerste is een simpele array, terwijl getopt() meer complexe functionaliteit biedt, zoals het parsen van opties (met of zonder waarden).

Wat de implementatie betreft, $argv en $argc (het aantal argumenten) zijn automatisch beschikbaar in CLI-modus - geen extra opzet nodig. Ze zijn niet aanwezig bij het uitvoeren van PHP-webscripts, omdat dat niet hun domein is.

Maar onthoud, als je argv en argc als globale variabelen registreert via php.ini of serverconfiguratie, kunnen ze ook in webscripts worden benaderd. Hoewel, dat is zelden nodig en kan een beveiligingsrisico vormen.

Zie ook

Voor meer complexe opdrachtregelparsing:

Om dieper in te gaan op PHP’s CLI-server:

Ga in gesprek met de PHP-community: