IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Classe PHP simple d'accès à une BDD MySQL


Sujet :

PHP & Base de données

  1. #1
    Pgs
    Pgs est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Points : 100
    Points
    100
    Par défaut Classe PHP simple d'accès à une BDD MySQL
    Bonjour,

    Je code en php comme un bourrin.
    Je voudrais repartir à zéro et prendre de meilleures habitudes, en particulier celle d'utiliser les classes.
    Je suis donc à la recherche d'une classe php simple permettant :
    * de se connecter à une BDD MySQL
    * d'afficher en html le contenu d'une table
    * de permettre l'ajout, la modification et la supression d'enregistrements.
    Merci d'avance pour toute aide.
    Philippe

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Tu fais trois choses différentes, il faut faire 3 classes différentes si tu veux que certaines parties de ton code soient réutilisables.

    Normalement la classe de connexion est unique pour tout le site, et l'on emploi souvent une classe avec des propriétés statiques pour être certain de n'instancier la connexion à la bdd qu'une seule fois.

    Ensuite tu peux faire une classe CRUD (Créate Read Update, Delete) pour ta table et enfin une classe d'affichage qui exploitera le retour de tes requêtes pour les afficher en fonction des besoins.

    C'est le minimum.

    Pour aller plus loin, tu peux regarder le modèle d'architecture MVC pour avoir des exemples plus avancés sur l'organisation d'un code php. A toi ensuite de choisir ce qui t'es utile.

  3. #3
    Pgs
    Pgs est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Points : 100
    Points
    100
    Par défaut
    Merci.
    Je vois que l'on y parle de PDO.
    Puis-je rester avec mysqli ou me conseilles-tu de profiter de mon redémarrage à zéro pour passer à PDO ?

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Oui pdo est très recommandé, c'est beaucoup moins verbeux donc plus facile à écrire, et aussi plus pratique, on peut par exemple passer un tableau de valeur dans le execute() pour les requêtes préparées.
    Cela prend quelques jours pour être à l'aise, mais cela vaut l'investissement, d'autant plus que tous les exemples de requêtes sont aujourd'hui donné en utilisant pdo.

    L'extension mysqli a surtout été conçue pour mettre à jour d'anciens sites qui utilisaient l'extension mysql, mais pour de nouveaux projets (ou pour une rénovation totale) mieux vaut utiliser PDO, c'est LE standard actuel.

  5. #5
    Pgs
    Pgs est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Points : 100
    Points
    100
    Par défaut
    Merci à toi.
    Ton terme "rénovation totale" correspond tout à fait à ma situation.
    Je compte bâtir un site "propre" à côté de l'actuel et y implémenter pas à pas les fonctions du premier.
    A ton avis, vaut-il mieux que je démarre le nouveau site à partir de https://github.com/bpesquet/MonBlog ou bien de https://github.com/bpesquet/OC-MicroCMS ?
    Merci encore pour tes conseils

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    La source la plus récente utilise Silex, c'est une base plus complète et professionnelle mais aussi plus complexe (nécessite de connaître Silex).

    Après le modèle MVC est un modèle d'architecture standard mais néanmoins assez lourd qui peut paraître surdimensionné - investissement temps important - pour créer simplement un "petit site", d'autant plus que si le principal avantage est d'avoir une structure stable et éprouvée permettant d'ajouter des pages et des fonctionnalités avec un bon niveau de stabilité et de sécurité, la structure est en même temps contraignante et parfois pesante. Et l'on fait de plus en plus de choses côté client (depuis ajax) si bien que l'implémentation de l'architecture idéale, notamment en cas de besoin d'une interface client riche en fonctionnalités, peut être sensiblement différente, cf MVP (Model-View-Presenter), MVVM (Model-View-ViewModel), MVCVM (Model-View-Controller-ViewModel)...

    Ce que je veux dire c'est que si c'est une bonne source pour apprendre à utiliser le modèle MVC, pour autant ce modèle MVC n'est pas l'alpha et l'oméga qui conviendra le mieux dans tous les cas. Suivant les cas on pourra être amené à privilégier l'approche SPA (single page application) plutôt que MPA (qui demande au serveur la construction d'une nouvelle page entière pour changer le contenu affiché). On peut aussi mélanger les deux en cas de besoin, mais on évite dans la mesure du possible pour éviter de complexifier le projet.

    Bref je t'ai donné le lien initial comme un exemple d'architecture, mais je ne sais pas si cette architecture est la plus adaptée à ton site, même s'il est probable qu'elle le soit si tu as des besoins standards. Et même si elle correspond, tu pourrais aussi reprendre le principe (ou certains principes d'organisation) sans nécessairement passer par un framework surtout si c'est simplement pour mieux organiser du code déjà existant. L'utilisation d'un framework est un bon investissement pour développer plusieurs sites avec un même schéma de programmation, mais pas forcément rentable pour un seul site qui plus est s'il est déjà existant. Mais d'un autre côté c'est aussi un bon exercice pour avoir une expérience professionnelle plus complète. C'est à toi de considérer toutes ces composantes pour savoir si l'investissement temps que tu vas y passer est rentable ou non.

    Après je n'ai pas le temps de regarder cette source dans le détail, mais le tuto présenté sur developpez.com prouve (à mon avis) que bpesquet est de bons conseils et ce lien (avec Silex) est donc probablement une bonne source pour aborder le modèle MVC de manière professionnelle.

  7. #7
    Pgs
    Pgs est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Points : 100
    Points
    100
    Par défaut
    Merci pour tes conseils

Discussions similaires

  1. Tracer les accès à une BDD MySQL
    Par fgalves dans le forum Administration
    Réponses: 3
    Dernier message: 25/07/2013, 19h23
  2. Droit d'accès à une BDD MySql
    Par khouja dans le forum MySQL
    Réponses: 2
    Dernier message: 08/12/2009, 21h15
  3. [Visual Web Dev] Gérer l'accès à une BdD MySQL
    Par sanackas dans le forum ASP
    Réponses: 0
    Dernier message: 22/03/2008, 17h59
  4. Sauvegarder une instance d'une classe Java dans une BDD MySQL
    Par malag dans le forum Administration
    Réponses: 1
    Dernier message: 03/09/2006, 19h23
  5. Réponses: 2
    Dernier message: 06/01/2005, 21h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo