steevedroz / fakedb
2.0.0
2021-03-16 14:59 UTC
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.17
- phpunit/phpunit: ^9.5
This package is not auto-updated.
Last update: 2025-03-13 08:36:25 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();