<?php
namespace nur\sery\web\params;

use nur\sery\cl;
use nur\sery\str;

/**
 * Class P: gestion des paramètres $_POST
 */
class P {
  /** tester si le paramètre $name existe */
  static final function has($name): bool {
    if ($name === null || $name === false) return false;
    return array_key_exists($name, $_POST);
  }

  /** obtenir le paramètre $name */
  static final function get($name, $default=null, bool $trim=false) {
    $value = cl::get($_POST, $name, $default);
    if ($trim) $value = str::trim($value);
    return $value;
  }

  /** modifier le paramètre. */
  static final function set(string $name, ?string $value): void {
    $_POST[$name] = $value;
  }

  /** obtenir le corps de la requête POST */
  static final function raw(): string {
    return file_get_contents("php://input");
  }
}
