nur-sery/nur_src/m/IRowIncarnation.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;
}