Notice: Use of undefined constant NONE - assumed 'NONE' in /home/developpez/www/developpez-com/upload/entityphp/index.php on line 21
EntityPHP • Create, update, delete
EntityPHP

This page is not translated yet!

Créer, mettre à jour, supprimer

  1. Un mot sur les méthodes statiques
  2. Ajouter une entrée dans une table
  3. Modifier les données
  4. Supprimer une entité

Un mot sur les méthodes statiques

Nous l'avons vu, les tables dans EntityPHP sont gérées par des classes héritant de Entity.
Cette classe-mère apporte aux classes qui en héritent un ensemble de fonctionnalités bien utiles, la grande majorité étant statiques.

Cela signifie qu'il est possible d'accéder à ces méthodes via la syntaxe suivante :

<?php NomDeVotreClasse::nomDeLaMethode(); ?>

Ajouter une entrée dans une table

Ajouter des données se fait avec la méthode statique add(). Celle-ci prend en paramètre l'entité à ajouter en base.
Si nous reprenons la classe créée dans le premier tutoriel, voici un exemple de création d'un personnage :

<?php
    //On admet que le reste du code est inclus
 
    //Création du personnage
    $obj = new Characters();
 
    //Ajout dans la base de données
    Characters::add($obj);
?>
EntityPHP
Et c'est tout !

Modifier les données

Afin de modifier nos données, il nous faut d'abord les récupérer. L'occasion de découvrir la méthode statique getById() : celle-ci prend en paramètre l'id de l'entité à récupérer.

Si un résultat a été trouvé, l'objet PHP représentant l'entité est alors retourné. Sinon, la méthode renvoit null.

<?php
    //On admet que le reste du code est inclus
 
    //Récupération du personnage d'id 1
    $obj = Characters::getById(1);
 
    if(!is_null($obj)) //L'entité a été récupérée, on peut la modifier !
    {
        //...
    }
    else
    {
        echo 'L\'objet à modifier n\'a pas été trouvé...\';
    }
?>

Notre objet étant récupéré, nous pouvons le modifier avec des setters que nous devons écrire nous-même dans la définition de la classe.
Ensuite, un simple appel à la méthode statique update() suffit pour sauvegarder nos modifications !

<?php
    //On admet que le reste du code est inclus
 
    //Récupération du personnage d'id 1
    $obj = Characters::getById(1);
 
    if(!is_null($obj)) //L'entité a été récupérée, on peut la modifier !
    {
        //On admet que la méthode setName() a été définie dans la classe Characters
        $obj->setName('Paul');
 
        //Et on sauvegarde les modifications en base !
        Characters::update($obj);
    }
    else
    {
        echo 'L\'objet à modifier n\'a pas été trouvé...';
    }
?>

Supprimer une entité

La suppression de données se fait presque de la même façon que la mise à jour. En fait, seule la méthode statique change !
Il ne faut en effet plus appeler update(), mais delete() :

<?php
    //On admet que le reste du code est inclus
 
    //Récupération du personnage d'id 1
    $obj = Characters::getById(1);
 
    if(!is_null($obj)) //L'entité a été récupérée, on peut la supprimer !
    {
        //Pouf, disparue !
        Characters::delete($obj);
    }
    else
    {
        echo 'L\'objet à supprimer ne semble pas exister !';
    }
?>

Attention : une entité supprimée ne pourra pas être récupérée, alors utilisez cette méthode avec parcimonie !