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 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");
 | |
|   }
 | |
| }
 |