steevedroz/fakedb

2.0.0 2021-03-16 14:59 UTC

This package is not auto-updated.

Last update: 2024-04-25 04:45:16 UTC


README

DO NOT USE IN PRODUCTION, THIS IS ONLY FOR TEACHING!

NE PAS UTILISER EN PRODUCTION, CECI N'EST DESTINÉ QU'À L'ENSEIGNEMENT!

Attention, il s'agit de la version de FakeDb qui utilise composer. Si vous n'êtes pas à l'aise avec cette technologie, consultez la version 1.

FakeDb est une bibliothèque permettant d'utiliser un simulacre de base de données basé sur des fichiers JSON.

La bibliothèque

La bibliothèque à proprement parler se trouve dans le répertoire lib/.

Documentation

La documentation se trouve dans le fichier doc/html/index.html (nécessite une génération avec Doxygen, sinon contactez @SteeveDroz).

Utilisation

Utilisation standard:

  • Écrire le code suivant dans le fichier composer.json situé à la racine du projet:
{
    "repositories": [
        {
            "type": "vcs",
            "url": "https://git.s2.rpn.ch/SteeveDroz/fake-db"
        }
    ],
    "require": {
        "steevedroz/fakedb": "dev-v2"
    }
}
  • Lancer la commande composer update depuis la racine du projet.
  • Définir une constante appelée FAKEDB_SECRET et ayant une valeur unique: define('FAKEDB_SECRET', 'UneValeurQuiDoitÊtreDifférenteSurChaqueProjet');.
  • Créer un nouvel objet FakeDb: $fakeDb = new \SteeveDroz\Fake\FakeDb();.
  • Utiliser la syntaxe-flèche pour accéder aux différentes fonctionnalités (voir plus bas). Exemple: $fakeDb->findAll('people');

Exemple d'utilisation:

if (!defined('FAKEDB_SECRET')) {
    define('FAKEDB_SECRET', 'CeluiQuiNeChangePasCetteValeurEstUnIdiot'); // ... sérieusement!
}

$fakeDb = new \SteeveDroz\Fake\FakeDb();
$user = [
  'username' => 'toto',
  'email' => 'toto@site.com'
  'password' => 'pass1234'
];
$fakeDb->insert('users', $user); // Insère $user dans la table 'users'

$users = $fakeDb->findAll('users'); // Récupère toutes les entrées de la table 'users'

echo '<ul>';
foreach ($users as $usr) {
  echo '<li>' . $usr['username'] . '</li>';
}
echo '</ul>';

Les fonctionnaliés implémentées sont:

$fakeDb = new \SteeveDroz\Fake\FakeDb();
$fakeDb = new \SteeveDroz\Fake\FakeDb($emplacementDesFichiers);
$tableauDeTableauxAssociatifs = $fakeDb->findAll($table);
$tableauAssociatif = $fakeDb->find($table, $id);
$tableauDeTableauxAssociatif = $fakeDb->findWhere($table, $criteres);
$tableauAssociatif = $fakeDb->findOneWhere($table, $criteres);
$fakeDb->insert($table, $donnees);
$fakeDb->update($table, $donnees, $conditions);
$fakeDb->delete($table, $conditions);
$emplacementDesFichiers = $fakeDb->getDirectory();