Jdi na navigaci předmětu

Command Line Interface (console)

Samostatně spustitelný skript

  • skript samostatně spustitelný

    #!/usr/bin/env php
    <?php
    if($argc != 3) {
    	fwrite(STDERR, "Usage: {$argv[0]} <input> <output>\n");
    	exit(1);
    }
    
    file_put_contents($argv[2], file_get_contents($argv[1]));
    $ chmod +x cp.php
    $ ./cp.php input.txt output.txt

Argumenty příkazové řádky

  • rezervované proměnné
    • $argc - počet argumentů
    • $argv - pole argumentů
    • $argv[0] - název skriptu

Přepínače z příkazové řádky

  • getopt - vychází z funkce getopt(3) ze standardní knihovny C
$shortopts  = "";
$shortopts .= "f:";  // přepínač s povinnou hodnotou
$shortopts .= "v::"; // přepínač s volitelnou hodnotou
$shortopts .= "abc"; // přepínače bez hodnoty

$longopts  = array(
    "required:",     // přepínač s povinnou hodnotou
    "optional::",    // přepínač s volitelnou hodnotou
    "option",        // přepínače bez hodnoty
    "opt",           // přepínače bez hodnoty
);
$options = getopt($shortopts, $longopts);
var_dump($options);

Přepínače z příkazové řádky - volání

$ php getopt.php -f "value for f" -v -a --required value --optional="optional value" --option
array(6) {
  ["f"]         =>  string(11) "value for f"
  ["v"]         =>  bool(false)
  ["a"]         =>  bool(false)
  ["required"]  =>  string(5) "value"
  ["optional"]  =>  string(14) "optional value"
  ["option"]    =>  bool(false)
}