Snippet #25 ~ PHP: Intégrez une base de donnée dans votre fichier unique d’exécution

Voila un ptit snippet que vous n’aurez l’occasion d’expérimenter que dans de très rares cas de figures mais qui révèle une particularité significatif du PHP, à savoir sa capacité à se réécrire lui même.

En effet le PHP étant un langage interprété la source du script peut être réécrite en cours d’exécution sans que cela pose le moindre problème.

C’est ce petit exercice que je vous propose avec ce snippet qui permet d’utiliser le fichier PHP en tant que sa propre base de données.

C’est à dire que la bas est stockée dans le fichier lui même sous forme compressée.

Dans cette exemple on utilise simplement le snippet pour lire sa base de donnée intégrée, l’afficher, et y sauvegarder un nouveau « hello world »
à chaque exécution de la page.

utilisation :
db() : retourne la base de donnée sous la forme d’un tableau php (lecture)
db($array) : remplis la base de donnée a partir d’un nouveau tableau php (écriture)

La base de données est stockée physiquement sous forme compressée dans la variable $database.

Les avantages :
– Ce type de snippet est très utilisé dans les scripts dit « mono fichiers » a savoir qui contiennent tout leurs code logiciel dans un seul fichier, ceci permet de rendre le script plus simple à installer/migrer.
– La base étant compressée à l’aide de gzinflate/deflate, elle peut contenir un grand nombre d’informations sans prendre trop de poids
– La base étant transportée sous forme de json est de tableau PHP, sa structure est dynamique (donc plus souple, mais c’est autant un inconvénient qu’un avantage si vous ne mettez pas en place certains garde fous).

Les inconvénients :
– il est nécessaire de garder la syntaxe exacte « $database =  »; » (avec les mêmes espaces etc…)
– La base étant compressée à l’aide de gzinflate/deflate, certains caractères spéciaux vont apparaitre dans la variables $database qui risquent de vous empêcher les copier/coller et/ou les modifications de fichiers avec certains encodages

D’une manière générale cette façon de stocker les données ‘en intégré’ est déconseillée, il est préférable d’utiliser un vrai sgbd clairement distinct du code d’exécution.

Cependant dans le cas de programmes ayant besoin d’être léger en poids et en nombre, portable, et qui ne nécessitent pas de stocker un
trop grand nombre de données, ce petit snippet peut faire l’affaire.


Follow us on Facebook

www.webpoint.fr
webpoint.e-monsite.com  www.prestatic.fr  www.epart.fr/demo 4  www.support-prestashop.fr  www.maxibazare.com  www.conseils-web.fr  referencement-annuaire-web.fr  facebook.com/Webpointfr-622797134842872  facebook.com/prestatic.fr  webpointfr.simplesite.com  webpoint.e-monsite.com  contact29364.wixsite.com/www-webpoint-fr  webpoint.space  webpoint.byethost7.com  akimania.webnode.fr  Dropshipping shopify Retour