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