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: