Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1743 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Bonnes pratiques php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Bonnes pratiques php

n°2259835
didier1809
${citation_perso}
Posté le 07-06-2015 à 09:05:39  profilanswer
 

:hello:  
 
Je fais pas mal de Java, et je me suis mis au PHP pour un mini site perso, ou il est possible de voter pour une liste de chansons (oui je sais c'est bidon, mais je voulais me mettre au PHP :) )
 
J'ai mis mon code sur github ( https://github.com/dinow/musicdoodle )
 
Est-ce que quelqu'un aurait 5' pour me dire si c'est correct ce que je fais, voir si je n'ai pas de grosses conneries de noob :o ?
 
surtout la partie "backend":
 
https://github.com/dinow/musicdoodle
 
Les connexions à la bdd me semblent pas top, c'est mieux de connecter au début directement
 

Code :
  1. <?php
  2. if (is_ajax()) {
  3.        //connecter ici ?
  4.     if ($_POST['action']=='voteForSong') {
  5.         voteForSong($_POST['songId']);
  6.     }else if ($_POST['action']=='actualize') {
  7.         actualizeDB();
  8.     }else if ($_POST['action']=='getArtistList') {
  9.         getArtistList();
  10.     }else if ($_POST['action']=='fillSongList') {
  11.         fillSongList($_POST['artistId']);
  12.     }
  13.        //Déconnecter ici ?
  14. }


 
ou de laisser dans chaque fonction comme j'ai fait ?
 
Merci d'avance :jap:


---------------
.
mood
Publicité
Posté le 07-06-2015 à 09:05:39  profilanswer
 

n°2259842
czh
Posté le 07-06-2015 à 17:25:08  profilanswer
 

Il vaut mieux connecter "réellement" lorsque l'on a vraiment besoin de la base de données. Par exemple si 50% des rendus de pages ne nécessitent pas de bdd, on économise 50% de connexion à la base.
Dans tous les cas, il vaut mieux ne faire la connexion qu'à la demande.  
 
Par-contre, c'est un poil plus compliqué : il faut le faire bien, et ne connecter qu'une seule fois dans l’exécution du script. En programmation non-objet, je conseillerais de de manipuler carrément la connexion en global plutôt que de la trimbaler en argument de fonction. Mais le plus propre est de programmer en objet, et de réunir les manipulations de bdd au sein d'un même objet qui contient une dépendance à la bdd géré par un objet correctement écrit pour faire ce que l'on veut avec.
 
Et sinon, sauf cas spécifique il n'est pas nécessaire de fermer les connexions à la bdd, php s'en charge lui-même si la connexion n'est pas persistante.

n°2259846
didier1809
${citation_perso}
Posté le 07-06-2015 à 18:31:58  profilanswer
 

Merci :)

 

Je vais voir comment marche le php objet alors :jap:


---------------
.
n°2259865
rufo
Pas me confondre avec Lycos!
Posté le 08-06-2015 à 11:13:14  profilanswer
 

Petite remarque sur ton if/else : un switch aurait été plus approprié ;)
 
Par ailleurs, va falloir apprendre à nettoyer/protéger tout ce qui vient d'un formulaire sous peine de failles XSS ou SQL injection :o


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2259866
didier1809
${citation_perso}
Posté le 08-06-2015 à 11:16:46  profilanswer
 

rufo a écrit :

Petite remarque sur ton if/else : un switch aurait été plus approprié ;)
 
Par ailleurs, va falloir apprendre à nettoyer/protéger tout ce qui vient d'un formulaire sous peine de failles XSS ou SQL injection :o


 
Tu m’intéresse, je pensais qu'avec le prepared statement ca se faisait tout seul :o
 
Si c'est pas le cas, je fais comment ? :)
 
Pour les failles xss je vais me renseigner pour voir ce que c'est :D


---------------
.
n°2259872
rufo
Pas me confondre avec Lycos!
Posté le 08-06-2015 à 13:35:38  profilanswer
 

Le prepared statement est une bonne chose contre le sql injection. Mais en général, on fait aussi du nettoyage de html avec strip_tags() + trim() pour les espaces en début/fin inutiles... + combinaison d'autres fonctions pour se protéger de failles en base64.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Bonnes pratiques php

 

Sujets relatifs
Bonnes pratiques pour une gestion de stocks très basiqueQuelles sont les meilleures pratiques pour une démonstration en ligne?
[Bonnes pratiques] Balise vide dans le DOM ou création à la volée ?Base de donnée, infos pratiques
3 petites questions pratiquesSEO (référencement) : listing des bonnes pratiques - topic unique
EJB et persistance des données : bonnes pratiquesJavascript Objet et bonnes pratiques
blabla@php | faq et bonnes pratiques page 1 
Plus de sujets relatifs à : Bonnes pratiques php


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR