
Class PHP OPEN-SOURCE crée par mes soins
Téléchargeable via les fichiers attachés, en bas de ce poste
OPTIMISATIONS EN BAS DU POSTE
Comment effectuer les modifications ?
Il vous suffit de copier le code/la fonction qui a était optimisé (qui ce trouve en bas de ce poste) et de le remplacer dans la class que vous avez déjà
--------------------------------------------------------------------
Changelog V2 :
Code:
- Ajout de la fonction "tableExist($PDO, $tableName)"
**********
Elle permet de vérifier si une table existe bien dans la base de donnée. Si c'est le cas, elle r'envoie TRUE, sinon elle r'envoie FALSE.
********************************
- Ajout de la fonction "addChamp($champName, $champType, $param = null)"
**********
Elle permet d'ajouter un champ lors de la création d'une table via PHP
********************************
- Ajout de la fonction "createTable($tableName, $champ1, $champ2 = null, $champ3 = null, $champ4 = null, $champ5 = null, $champ6 = null, $champ7 = null)"
**********
Elle permet de crée une table dans la base de donnée directement via PHP (utile pour crée un CMS avec création de table automatique)
********************************
- Ajout de la fonction "deleteTable($tableName)"
**********
Elle permet de supprimer (DROP) une table dans la base de donnée, sa supprime le contenu dans la table + la table elle même.
********************************
- Ajout de la fonction "clearTable($tableName)"
**********
Elle permet de supprimer tout le contenu d'une table.
********************************
- Ajout de la fonction "dump($nameDump, $host, $login, $password, $base, $mode = '2')"
**********
Elle permet de crée une sauvegarde de la base de donnée en indiquant le nom du fichier voulut, l'host de la base de donnée, le login etc... le mode '2' permet de récupérer la totalité des bases de donnée etc et le mode '1' simplement la structure des tables.
Utilisation, fonction par fonction
tableExist($PDO, $tableName)
Exemple d'utilisation :
tableExist($PDO, $tableName)
Exemple d'utilisation :
PHP:
<?php
// On inclus la class
require('Database.class.php');
// On déclare la class dans une variable
$PDO = new Database('test', 'root', 'root', 'localhost');
// On demande si la table "users" existe bien dans notre base de donnée
if($PDO->tableExist($PDO, 'users')){
// Si la table existe, on execute le code voulut ici
} else {
// Si la table n'existe pas, on exécute le voulut ici
}
addChamp($champName, $champType, $param = null)
Exemple d'utilisation :
Exemple d'utilisation :
PHP:
<?php
// On inclus la class
require('Database.class.php');
// On déclare la class dans une variable
$PDO = new Database('test', 'root', 'root', 'localhost');
// On demande si la table "users" existe bien dans notre base de donnée
if(!$PDO->tableExist($PDO, 'users')){
// Si la table n'existe pas, on la crée
// addChamp permet de crée des champs dans une table en indiquant respectivement le nom, le type du champ et les paramètres du champ si il y en a
// $PDO->addChamp() = on ajoute un champ dans la table
// 'users_id' = le nom du champ
// INT(10) NOT NULL etc = le type + les paramètres du champ (qui peux aussi se faire via un autre paramètres)
$PDO->createTable('users', $PDO->addChamp('users_id', INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY));
}
createTable($tableName, $champ1, $champ2 = null, $champ3 = null, $champ4 = null, $champ5 = null, $champ6 = null, $champ7 = null)
Exemple d'utilisation :
Exemple d'utilisation :
PHP:
<?php
// On inclus la class
require('Database.class.php');
// On déclare la class dans une variable
$PDO = new Database('test', 'root', 'root', 'localhost');
// On demande si la table "users" existe dans notre base de donnée
if(!$PDO->tableExist($PDO, 'users')){
// Si la table n'existe pas, on la crée
// createTable permet de crée une table dans la base de donnée
// 'users' = le nom de table
// $PDO->addChamp() = on ajoute un champ dans la table
// INT(10) NOT NULL etc = le type + les paramètres du champ
$PDO->createTable('users', $PDO->addChamp('users_id', INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY));
}
deleteTable($tableName)
Exemple d'utilisation :
Exemple d'utilisation :
PHP:
<?php
// On inclus la class
require('Database.class.php');
// On déclare la class dans une variable
$PDO = new Database('test', 'root', 'root', 'localhost');
// On demande si la table "users" existe bien dans notre base de donnée
if($PDO->tableExist($PDO, 'users')){
// Si la table existe, on peut la supprimer
$PDO->deleteTable('users');
}
clearTable($tableName)
Exemple d'utilisation :
Exemple d'utilisation :
PHP:
<?php
// On inclus la class
require('Database.class.php');
// On déclare la class dans une variable
$PDO = new Database('test', 'root', 'root', 'localhost');
// J'effectue une requêtes pour connaitre le nombre d'users dans la table
$requete_users = $PDO->query("SELECT * FROM users");
$cb_users = $requete_users->rowCount();
// Si il y a plus de 50 utilisateurs dans la table, on vide la table (exemple bidon mais sa vous donne une idée d'utilisation)
if($cb_users > 50){
$PDO->clearTable('users');
}
dump($nameDump, $host, $login, $password, $base, $mode = '2')
Exemple d'utilisation :
Exemple d'utilisation :
PHP:
<?php
// On inclus la class
require('Database.class.php');
// On déclare la class dans une variable
$PDO = new Database('test', 'root', 'root', 'localhost');
// J'effectue une requêtes pour connaitre le nombre d'users dans la table
$requete_users = $PDO->query("SELECT * FROM users");
$cb_users = $requete_users->rowCount();
// Si il y a plus de 50 utilisateurs dans la table, on effectue une sauvegarde intégrale (mode 2), sinon on sauvegarde que la structure des tables
if($cb_users > 50){
$PDO->dump('Dump-test-12-12-2016-12h33', 'localhost', 'root', 'root', 'nomDeLaBDD', 2);
} else {
$PDO->dump('Dump-test-12-12-2016-12h33', 'localhost', 'root', 'root', 'nomDeLaBDD', 1);
}
VirusScan :
VirusScan de l'exemple d'utilisation :
Enjoy !
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
VirusScan de l'exemple d'utilisation :
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
Optimisation
Fonction "createTable" :
PHP:
public function createTable($tableName, $champ = []){
$nbChamp = count($champ);
if($nbChamp === 1){
$createTable = $this->getPDO()->query("CREATE TABLE {$tableName} ({$champ})");
} else {
$champFinal = '';
foreach ($champ as $value) {
$champFinal .= ', '.$value;
}
$lFinal = strlen($champFinal);
$champFinal = substr($champFinal, 1, $lFinal);
$createTable = $this->getPDO()->query("CREATE TABLE {$tableName} ({$champFinal})");
}
}
PHP:
/**
* Si la table 'users' n'existe pas, on la crée
*/
if(!$BDD->tableExist($BDD, 'users')){
$BDD->createTable('users',
[$BDD->addChamp('users_id', 'INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY'),
$BDD->addChamp('users_pseudo', 'VARCHAR(80) NOT NULL')]);
// Vous pouvez mettre autant de champ que vous le souhaitez grâce à cette optimisation,
// Avant vous étiez limité 7 champs par table maximum
}
Changelog de la fonction :
Code:
Vous avez juste à remplacer la fonction déjà existante par celle-ci ;)
Vous n'êtes plus limité par le nombre de champ.
Fichiers joints
Dernière édition: