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