Bonnes pratiques php - PHP - Programmation
Marsh Posté le 07-06-2015 à 17:25:08
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.
Marsh Posté le 07-06-2015 à 18:31:58
Merci
Je vais voir comment marche le php objet alors
Marsh Posté le 08-06-2015 à 11:13:14
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
Marsh Posté le 08-06-2015 à 11:16:46
rufo a écrit : Petite remarque sur ton if/else : un switch aurait été plus approprié |
Tu m’intéresse, je pensais qu'avec le prepared statement ca se faisait tout seul
Si c'est pas le cas, je fais comment ?
Pour les failles xss je vais me renseigner pour voir ce que c'est
Marsh Posté le 08-06-2015 à 13:35:38
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.
Marsh Posté le 07-06-2015 à 09:05:39
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 ?
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
ou de laisser dans chaque fonction comme j'ai fait ?
Merci d'avance
---------------
.