48 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| namespace nur\b\io;
 | |
| 
 | |
| use nur\b\ICloseable;
 | |
| 
 | |
| /**
 | |
|  * Class IReader: abstraction d'une source à partir de laquelle on peut lire
 | |
|  * (fichier, flux, etc.)
 | |
|  */
 | |
| interface IReader extends ICloseable {
 | |
|   /** si ce reader est basé sur une resource, la retourner, sinon null. */
 | |
|   function getResource();
 | |
| 
 | |
|   /** si ce reader est basé sur une resource, ajouter un filtre. */
 | |
|   function appendFilter(string $filterName, ?int $readWrite=null, $params=null): void;
 | |
| 
 | |
|   /** si ce reader est basé sur une resource, ajouter un filtre. */
 | |
|   function prependFilter(string $filterName, ?int $readWrite=null, $params=null): void;
 | |
| 
 | |
|   /** si ce reader est basé sur une resource, spécifier l'encoding. */
 | |
|   function setEncodingFilter(string $from, string $to="utf-8"): void;
 | |
| 
 | |
|   /**
 | |
|    * lire la prochaine ligne. la ligne est retournée *sans* le caractère de fin
 | |
|    * de ligne [\r]\n
 | |
|    *
 | |
|    * @throws EOFException si plus aucune ligne n'est disponible
 | |
|    * @throws IOException si une erreur se produit
 | |
|    */
 | |
|   function readLine(): string;
 | |
| 
 | |
|   /** lire toutes les lignes du fichier */
 | |
|   function readLines(): array;
 | |
| 
 | |
|   /**
 | |
|    * lire tout le contenu en une seule fois, puis, si $close==true, fermer le
 | |
|    * fichier
 | |
|    *
 | |
|    * @throws IOException si une erreur se produit
 | |
|    */
 | |
|   function getContents(bool $close=true): string;
 | |
| 
 | |
|   function unserialize(?array $options=null, bool $close=true);
 | |
| 
 | |
|   /** fermer le fichier si c'est nécessaire */
 | |
|   function close(bool $close=true): void;
 | |
| }
 |