#!/usr/bin/php "tester la gestion des arguments", "usage" => "-A|-a|-b", "merge" => parent::ARGS, ["group", ["-A:", "--seta", "args" => "int", "name" => "a", "help" => "spécifier a", ], ["--seta10", "name" => "a", "value" => 10], ["--seta20", "name" => "a", "value" => 20], ], ["-a", "--inca", "name" => "a", "help" => "incrémenter a", ], ["-b", "--deca", "name" => "a", "inverse" => true, "help" => "décrémenter a", ], ["-D::", "--override", "help" => "++remplace celui de la section principale", ], "sections" => [ [ "title" => "Section X", "show" => false, ["group", ["-X:", "--setx", "args" => "int", "name" => "x", "help" => "spécifier x", ], ["--setx10", "name" => "x", "value" => 10], ["--setx20", "name" => "x", "value" => 20], ], ["-x", "--incx", "name" => "x"], ["-y", "--decx", "name" => "x", "inverse" => true], ], ], ]; private ?int $a = null; private ?int $x = null; private ?string $override = null; private ?array $args = null; function main() { $profile = app::get_profile($productionMode); $profile = self::get_profile($profile); $productionMode = $productionMode? "production": "development"; msg::info("profile=$profile ($productionMode)"); $debug = app::is_debug()? "DEBUG": "non"; msg::info("debug=$debug"); msg::info([ "variables:", "\na=", var_export($this->a, true), "\nx=", var_export($this->x, true), "\noverride=", var_export($this->override, true), "\nargs=", var_export($this->args, true), ]); } });