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