Information  Vous êtes sur mobile ou tablette ? Tenez votre appareil à l'horizontale !

Entity


Note de version 21.24.04 :
Comme expliqué plus en détail dans la section BDD la gestion des requetes a changé,
il est recomandé de regénérer vos entity si elles ont été généré avant cette verssion !

Les entités font office d'ORM dans votre projet,
une classe entité vous permet de lire, ajouter, modifier ou supprimer des entrées de votre base de données sans avoir à saisir une requête SQL
(ormis une eventuelle condition "where" ). Les entités exploitent un objet bdd accessible via application::$_bdd
les entités seront capable de recréer la structure de leur base de données si celle-ci est perdue (mais ne permettent pas de sauvegarder les données ).

Créer des entités

La création d'une entité est simple, il est conseillé de mettre la création d'entité soit dans le constructeur de pages.class.php
soit dans le constructeur de la classe métier qui exploitera cette entité. Voici le code (consultez la documentation technique pour plus d'informations)

Créer des relations entres les entités et astuces pour créer plusieurs entités facilement

MAJ 21.18.02

Depuis la version 21.18.02, il est possible de créer l'ensemble de vos entités ainsi :

Utilisation des entités

Une fois les entités créées, elles peuvent être utilisées (nous utiliserons l'exemple des 'user' et 'rang')

ATTENTION : si vous utilisez des variables dans les paramètres $where :
utilisez le tableau $params afin d'utiliser les requêtes préparé et vous protéger des injections SQL
pensez également à la fonction strip_tags pour vous protéger des failles XSS.

Les types de champ/attribut

Type (code PHP) Type (SQL) Description
int, integer int(11) un champ de nombre entiers
bool, boolean int(1) 0 ou 1
string text un champ de texte, peut contenir aussi du HTML, des dates, ou des nombres
mail text un champ de texte pour les mail, une verification est faite en PHP par l'entité avant l'enregistrement en base de données
array text (depuis la version 21.18.03) un champ de texte JSON, les conversions de array (coté PHP) en JSON (coté SQL) et inversement sont gérées en PHP par l'entité.
Inutile donc d'utiliser json_encode() et json_decode()
psw (ou password) text (depuis la version 21.25.02) un champ de texte pour les mot de passe, le hash se fait automatiquement lors de l'appel de set_psw()