58 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
namespace nur;
 | 
						|
 | 
						|
/**
 | 
						|
 * Class out: des outils pour afficher des valeurs sur la sortie standard
 | 
						|
 *
 | 
						|
 * Cette classe offre des outils simples pour faciliter l'affichage de valeurs
 | 
						|
 * de type string, comme une version glorifiée de la commande <pre>echo</pre>
 | 
						|
 *
 | 
						|
 * @see \nur\co
 | 
						|
 * @see \nur\v\vo
 | 
						|
 */
 | 
						|
class out {
 | 
						|
  private static final function _print(?string $prefix, string $sep, array $values, ?string $suffix): void {
 | 
						|
    if ($prefix !== null) echo $prefix;
 | 
						|
    echo implode($sep, $values);
 | 
						|
    if ($suffix !== null) echo $suffix;
 | 
						|
  }
 | 
						|
 | 
						|
  /** écrire une suite de valeurs collées les unes aux autres */
 | 
						|
  static final function write(...$values): void {
 | 
						|
    self::_print(null, "", $values, null);
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * afficher une suite de valeurs collées les unes aux autres suivies d'un saut
 | 
						|
   * à la ligne
 | 
						|
   */
 | 
						|
  static final function wnl(...$values): void {
 | 
						|
    self::_print(null, "", $values, "\n");
 | 
						|
  }
 | 
						|
 | 
						|
  /** écrire une suite de valeurs séparées par des espaces */
 | 
						|
  static final function print(...$values): void {
 | 
						|
    self::_print(null, " ", $values, null);
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * afficher une suite de valeurs séparées par des espaces suivies d'un saut à
 | 
						|
   * la ligne
 | 
						|
   */
 | 
						|
  static final function pnl(...$values): void {
 | 
						|
    self::_print(null, " ", $values, "\n");
 | 
						|
  }
 | 
						|
 | 
						|
  const INDENT_STRING = "  ";
 | 
						|
 | 
						|
  static final function indent(int $level, ...$values): void {
 | 
						|
    $indent = str_repeat(static::INDENT_STRING, $level);
 | 
						|
    self::_print($indent, " ", $values, null);
 | 
						|
  }
 | 
						|
 | 
						|
  static final function inl(int $level, ...$values): void {
 | 
						|
    $indent = str_repeat(static::INDENT_STRING, $level);
 | 
						|
    self::_print($indent, " ", $values, "\n");
 | 
						|
  }
 | 
						|
}
 |