45 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| namespace nur;
 | |
| 
 | |
| use nur\b\ui\IContent;
 | |
| use nur\b\ui\IPrintable;
 | |
| 
 | |
| /**
 | |
|  * Class co: affichage générique de données formatées avec {@link c}
 | |
|  */
 | |
| class co {
 | |
|   /** afficher la chaine correspondant au tableau $vs applati */
 | |
|   static final function _write(?iterable $vs): void {
 | |
|     if ($vs === null) return;
 | |
|     foreach (c::flatten($vs) as $v) {
 | |
|       if ($v instanceof IPrintable) {
 | |
|         $v->print();
 | |
|       } elseif ($v instanceof IContent) {
 | |
|         self::_write($v->getContent());
 | |
|       } else {
 | |
|         echo $v;
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   /** afficher $vs suivi d'un saut à la ligne */
 | |
|   static final function _print(?iterable $vs): void {
 | |
|     if ($vs === null) return;
 | |
|     $print_nl = false;
 | |
|     foreach (c::flatten($vs) as $v) {
 | |
|       if ($v instanceof IPrintable) {
 | |
|         $v->print();
 | |
|       } elseif ($v instanceof IContent) {
 | |
|         self::_write($v->getContent());
 | |
|       } else {
 | |
|         echo $v;
 | |
|       }
 | |
|       $print_nl = true;
 | |
|     }
 | |
|     if ($print_nl) echo "\n";
 | |
|   }
 | |
| 
 | |
|   static final function write($vs): void { self::_write(c::nq($vs)); }
 | |
|   static final function print($vs): void { self::_print(c::nq($vs)); }
 | |
| }
 |