33 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
namespace nur\m;
 | 
						|
 | 
						|
/**
 | 
						|
 * Interface IRowIncarnation: objet permettant d'adapter des données avant de
 | 
						|
 * les transmettre à la base de données ou vice-versa
 | 
						|
 */
 | 
						|
interface IRowIncarnation {
 | 
						|
  /**
 | 
						|
   * créer un tableau de bindings à partir d'un filtre (tableau utilisé pour
 | 
						|
   * sélectionner les lignes concernées par une opération), d'une ligne de
 | 
						|
   * données (utilisé pour la mises à jour), et d'un tableau retour (pour
 | 
						|
   * récupérer certaines informations de la base de données)
 | 
						|
   */
 | 
						|
  function createBindings(?array &$bindings, ?array $filter, $row=null, ?array $results=null): void;
 | 
						|
 | 
						|
  /**
 | 
						|
   * Si une requête a des variables retour, mettre à jour $results avec ces
 | 
						|
   * variables
 | 
						|
   */
 | 
						|
  function loadResults(?array &$results, array $bindings): void;
 | 
						|
 | 
						|
  /**
 | 
						|
   * Préparer les données de bindings pour qu'elles puissent être utilisées par
 | 
						|
   * la base de données. notamment, il s'agit de formatter les données à la
 | 
						|
   * manière dont la base de données les attends
 | 
						|
   */
 | 
						|
  function prepareBindings(?array &$bindings): void;
 | 
						|
 | 
						|
  /** Créer une instance de ligne de données */
 | 
						|
  function loadRow(&$row, &$rowKey): void;
 | 
						|
}
 |