|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
GESTIONNAIRE DE MODÈLES SQL
Information sur la source
Description
Suite à la discussion que nous avons eue avec destinyfr sur la source http://www.phpcs.com/codes/CMS-MY-GESTION-CMS-100-OPEN-SOURCE_48285.aspx, voici comment je procède sur mes sites pour tout ce qui touche à la base de donnée. Pour détailler, j'utilise deux classes principales suivit de n classes pour les modèles. La première classe s'appelle PdoManager, et s'occupe de la création de l'instance de PDO et du chargement des modèles. La deuxième classe s'appelle PdoModel, et est une classe (que j'aurai dû mettre abstraite) qui va éviter la redondance de code pour les modèles. En fait elle ne contient qu'une variable protected et une fonction, __construct, qui recoit l'instance de PDO et l'enregistre dans la variable protected. Les classes modeles n'auront qu'à étendre PdoModel et faire mumuse avec $this->_oPdo->* ! Voici un exemple de l'implémentation de telles classes :
Source
- <?php
- // On défini le repertoire ou se trouvent les modeles
- define ('MODELS_DIR', 'classes/Models/');
- // Bien sûr, on peux agir différement (le passer en paramètre, etc)
-
- // On inclut PdoManager
- require_once ('classes/PdoManager.php');
-
- // On instancie une connection vers PDO au travers de PdoManager
- $oPdoInstance = PdoManager::init (array ('dsn' => 'mysql:host=127.0.0.1', 'username' => 'root', 'password' => 'root'));
-
- // Maintenant, l'instance de PDO n'appartient qu'aux classes PdoManager et PdoModel(filles)
- // on ne peux pas accéder à pdo depuis l'extérieur de ces classes
-
- // Pour jouer avec la base de donnée, on doit charger un model, par exemple users :
- $oUsers = $oPdoInstance->load ('Users');
-
- // Puis on appele une fonction, telle que selectFromId
- $aUser = $oUsers->selectFromId (1);
-
- // On affiche son contenu vite fait
- echo '<pre>';
- var_dump ($aUser);
- echo '</pre>';
-
- // On modifie la valeur
- $aUser['login'] = 'Alfred';
-
- // On affiche son contenu après modification
- echo '<pre>';
- var_dump ($aUser);
- echo '</pre>';
-
- // Et on met à jour
- echo '<pre>';
- var_dump ($oUsers->update (1, $aUser));
- echo '</pre>';
- ?>
<?php
// On défini le repertoire ou se trouvent les modeles
define ('MODELS_DIR', 'classes/Models/');
// Bien sûr, on peux agir différement (le passer en paramètre, etc)
// On inclut PdoManager
require_once ('classes/PdoManager.php');
// On instancie une connection vers PDO au travers de PdoManager
$oPdoInstance = PdoManager::init (array ('dsn' => 'mysql:host=127.0.0.1', 'username' => 'root', 'password' => 'root'));
// Maintenant, l'instance de PDO n'appartient qu'aux classes PdoManager et PdoModel(filles)
// on ne peux pas accéder à pdo depuis l'extérieur de ces classes
// Pour jouer avec la base de donnée, on doit charger un model, par exemple users :
$oUsers = $oPdoInstance->load ('Users');
// Puis on appele une fonction, telle que selectFromId
$aUser = $oUsers->selectFromId (1);
// On affiche son contenu vite fait
echo '<pre>';
var_dump ($aUser);
echo '</pre>';
// On modifie la valeur
$aUser['login'] = 'Alfred';
// On affiche son contenu après modification
echo '<pre>';
var_dump ($aUser);
echo '</pre>';
// Et on met à jour
echo '<pre>';
var_dump ($oUsers->update (1, $aUser));
echo '</pre>';
?>
Conclusion
Le code présent ci-haut est un code vite fait pour présenter l'usage des classes utilisées pour la gestion de models. (c'est pas très joli joli, mélange du code html/php, etc). Juste pour vous donner une idée des possibilités que l'on as avec les classes PdoManager/PdoModel telle que je les implémentes. N'hésitez pas à proposer des améliorations, des conseils, des optimisations et à apporter votre avis sur la chose afin d'améliorer, toujours améliorer, un code :)
Sources du même auteur
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
php et base de donnée sql.... HELP ;-) [ par zarzar ]
je souhaite adapter en ligne (en php) un programme que j'ai créé sous excel et qui effectue des calculs de moyennes (avec des coeff, des matières), je
copie de donnée sql [ par Alpha911 ]
j'ai une base avec comme table PREVALID contenant ident, nom, prenom, compteftpj'ai une autre table COMPTE contenant id, repertoire et je voudrais que
LA taille d'une base de donnée sql [ par FleX ]
ba en fait je suis sur Free et j'ai une base de donnée que je manipule en php.J'aimerai savoir comment c'est ty qu'on peut bien faire pour obtenir la
existence de donnée dans base de donnée [ par gabs77 ]
Bonjour, j'ai 2 pb dans un premier temps, j'aimerais enregistrer dans une base de donnée un champet pour une meme donnée g 2 possibilité
Problème affichage [ par ChucklaPuck ]
Bonjour,J'ai présentement une base de donnée qui comporte plusieurs champs, dont 1 qui est idNouvelle qui a comme attribut auto_increment...Dans une d
Driver PDO sql server [ par dorian91 ]
Bonjours a tous,Voila j'ai un petit probleme avec la connexion a sql server avec PDOMessage erreur : "Could not find driver"Ma configuration PHP5 : ex
Accès donnée sur SQL server [ par thekingsky38 ]
Bonjour à tous Voilà près de 6heures que je chercher déséspérément à acceder à mes données sur un serveur SQL server. J'ai un serveur web IIS4, qui pr
[PDO]Compter le nombre de requêtes SQL [ par Zead2000 ]
Bonjour, Je voudrais savoir s'il existe un moyen en PDO pour compter le nombre de requêtes SQL effectuer dans un script.Si oui, est-ce que vous pouvez
sql dans un array [ par Alpha911 ]
Bonjour, J'ai parcouru les aides sur les forums mais ce n'est pas tres clair pour moi. Je dispose d'une base de donnée dans laquelle se trouve des ad
probleme pagination variable flash [ par petiteamoula ]
saluts'il vous plait j'ai un gros problème.j'ai une animation flash avec laquelle je doit récupéré un variable en php pour l'utiliser dans une requête
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|