87 lines
2.6 KiB
PHP
Executable File
87 lines
2.6 KiB
PHP
Executable File
#!/usr/bin/php
|
|
<?php # -*- coding: utf-8 mode: php -*- vim:sw=2:sts=2:et:ai:si:sta:fenc=utf-8
|
|
require(__DIR__.'/../vendor/autoload.php');
|
|
|
|
use nur\A;
|
|
use nur\b\ValueException;
|
|
use nur\cli\Application;
|
|
use nur\say;
|
|
|
|
Application::run(new class extends Application {
|
|
const ARGS = [
|
|
"merge" => Application::ARGS,
|
|
["-l:", "--level"],
|
|
["-t:", "--type"],
|
|
["-r:", "--result"],
|
|
];
|
|
private $args;
|
|
private $level, $type, $result;
|
|
|
|
const LEVEL_MAP = [
|
|
"1" => say::CRITICAL, "X" => say::CRITICAL,
|
|
"2" => say::MAJOR, "M" => say::MAJOR,
|
|
"3" => say::NORMAL, "n" => say::NORMAL,
|
|
"4" => say::MINOR, "m" => say::MINOR,
|
|
];
|
|
const TYPE_MAP = [
|
|
"1" => say::ERROR, "e" => say::ERROR,
|
|
"2" => say::WARNING, "w" => say::WARNING,
|
|
"3" => say::INFO, "i" => say::INFO,
|
|
"4" => say::DEBUG, "d" => say::DEBUG,
|
|
];
|
|
const RESULT_MAP = [
|
|
"0" => say::NONE, "n" => say::NONE,
|
|
"1" => say::NEUTRAL, "s" => say::NEUTRAL,
|
|
"2" => say::SUCCESS, "ok" => say::SUCCESS,
|
|
"3" => say::FAILURE, "ko" => say::FAILURE,
|
|
];
|
|
|
|
function main() {
|
|
say::info("Profil sélectionné: ".self::profile());
|
|
|
|
say::action("calcul des arguments");
|
|
$level = A::get(self::LEVEL_MAP, $this->level, say::NORMAL);
|
|
$type = A::get(self::TYPE_MAP, $this->type, say::INFO);
|
|
$result = A::get(self::RESULT_MAP, $this->result, say::NONE);
|
|
say::asuccess();
|
|
|
|
if ($this->args) {
|
|
$say = say::get();
|
|
foreach($this->args as $message) {
|
|
$say->addMessage($message, $type + $result, $level);
|
|
}
|
|
} else {
|
|
say::error("error message");
|
|
say::warning("warning message");
|
|
say::note("note message");
|
|
say::info("info message");
|
|
say::step("step message");
|
|
say::success("success message");
|
|
say::failure("failure message");
|
|
say::debug("debug message");
|
|
say::group("action multiple 1");
|
|
say::step("étape 1");
|
|
say::asuccess("effectué avec succès");
|
|
say::group("action multiple 2");
|
|
say::step("étape 2.1");
|
|
say::step("étape 2.2");
|
|
say::afailure("erreur d'étape");
|
|
say::action("fonction sans valeur de retour", function () {
|
|
echo "sortie de la fonction sans valeur de retour\n";
|
|
});
|
|
say::action("fonction true", function () {
|
|
return true;
|
|
});
|
|
say::action("fonction false", function () {
|
|
return false;
|
|
});
|
|
say::action("fonction string", function () {
|
|
return "résultat de la fonction string";
|
|
});
|
|
say::action("fonction exception", function () {
|
|
throw new ValueException("message de l'exception");
|
|
});
|
|
}
|
|
}
|
|
});
|