Tests performances et optmisation code php - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : Tests performances et optmisation code php (/showthread.php?tid=2130) |
RE: Tests performances et optmisation code php - Roworll - 12-12-2007 Une petite version objet (développement fait maison) Code PHP :
RE: Tests performances et optmisation code php - X-ZoD - 12-12-2007 ca fai bocou de ligne et de caracteres non ? -_- RE: Tests performances et optmisation code php - Lys91 - 12-12-2007 Sephi-Chan a écrit :Lys91 a écrit :sprintf("SELECT nom, xp FROM joueur WHERE joueur_name = '%s' AND truc='%s' AND machin='%s' LIMIT %d, %d", $name, $truc, $machin, $start, $end); Aucun soucis, debattre me pose pas de soucis. On peut aussi appelle une fonction dans la methode "concatenation" [....] $query.='AND machin=\''.ma_function($machin).'\' '; [....] Ou j'ai pas compris de quoi tu parlais ^^. Le truc de Row est interessant aussi mais la pour le coup on perd un peu en lisibilite (imo). On derive du sujet je pense qu'un modo pourrait sinder les post. Si d'autre personne utilise d'autre methode je serai interesse de les connaitre. PS : quel variable intermediaire ? RE: Tests performances et optmisation code php - Sephi-Chan - 12-12-2007 C'est vrai que la méthode que tu proposes (Roworll) est abusivement chargée. Je pense que l'objet c'est comme tout, il faut l'utiliser avec modération et dans le sens de nos besoins. Lys91 a écrit :Aucun soucis, debattre me pose pas de soucis.Oui mais pourquoi faire une concaténation illisible alors que le sprintf() permet de faire la même chose proprement ? C'est ce que je veux comprendre, le sprinft() est clairement mieux - c'est objectif - alors pourquoi utiliser la concaténation ? Pour reprendre le terme de Pascal, tous les caractères que tu utilises (le .=, les ', les \) ajoutent du bruit à ton script, ce qui en diminue la lisibilité. À combiner au fait que tu ne mets pas d'espaces blanc, ton script doit rapidement devenir illisible. Citation :$query.='AND machin=\''.ma_function($machin).'\' '; Les variables intermédiaires sont par exemples les variable de $_POST qui font l'objet d'une redéfinition, comme cela : Code PHP :
Sephi-Chan RE: Tests performances et optmisation code php - Lys91 - 12-12-2007 Les variable intermediaire sont les meme que pour la fonction sprintf, dans ce cas. Avantage : -pas d'appelle de fonction, donc plus leger -c'est plus claire qu'un sprintf, je lis ma requete ligne par ligne je vois quelle variable j'y insere alors qu'avec sprintf je tombe sur un %s %d %f etc... je cherche la xieme variable et j'espere ne pas me planter sur le type. Inconvenient : -le bruit (question d'habitude) Si on fait ca n'importe comment ca peut poser probleme c'est vrai par exemple ne pas oublier le $query=''; au depart pour eviter de concatener avec la requete precedente. RE: Tests performances et optmisation code php - pascal - 12-12-2007 Lys91 a écrit :Le truc de Row est interessant aussi mais la pour le coup on perd un peu en lisibilite (imo). ( je continue dans le hs ) l'avantage de cette syntaxe objet se trouve dans les moteurs de recherche : _ je fais une recherche multi critères _ j'ajoute un nouveau champ à la db suite à une modif des besoins => je ne modifie pas la requête avec une expression de plus dans le WHERE, mais j'ajoute quelques lignes qui créent ce WHERE correctement ( _sous réserve que la classe db fonctionne correctement_ ) A+ Pascal RE: Tests performances et optmisation code php - Sephi-Chan - 12-12-2007 Lys91 a écrit :Avantage :J'ai ri. Sephi-Chan, * fatigué par ce combat, le jeune homme s'effondra, résigné à mourir, sacrifié sur l'autel de la mauvaise foi... * RE: Tests performances et optmisation code php - Plume - 12-12-2007 Sephi, n'exagère pas Lys, réfléchis. Pourquoi concaténer abusivement ? Je ne suis pas utilisateur de la `méthode' sprintf(). Mais je trouve ta méthode tout de même abusive. Code PHP :
~L~ RE: Tests performances et optmisation code php - Sephi-Chan - 12-12-2007 LexLxUs a écrit :Sephi, n'exagère pasJe profitais juste de l'occasion pour un peu de lyrisme... :'( Hey tu ne respectes pas l'article que tu cites en signature ! Tu mets des espaces blancs autour des opérateurs de concaténation ! Guide de style pour bien coder a écrit :Merci de ne pas utiliser la virgule et d'éviter de mettre un espace après le point. Cela ne fait qu'augmenter la taille de la ligne et ce n'est vraiment pas indispensable pour la bonne compréhension du code.M'enfin je te comprends, je trouve que c'est de la connerie cet article : ils s'imposent trop en référence sur les choix. C'est très prétentieux. Sephi-Chan, sprintf() est une fonction, pas une méthode ! iffle: RE: Tests performances et optmisation code php - Lys91 - 12-12-2007 (HS : j'insiste autant car je suis au boulot et j'ai pas grand chose à faire, donc jespere que tu n'as pas mal pris cette discussion) Bon j'ai enfin compris que ce qui te posais problème cétait la suite de concaténation. En conclusion la "méthode LexLxUs" remporte mon adhésion :p. Sinon sur l'ouverture de fichier: http://www.phplibrairies.com/tutorial_optimisation_fr.html Pour ma part toujours utilisé le fopen. |