Eh bien si, justement, si tu n'utilises pas pconnect, les connexions se ferment automatiquement � la fin du script![]()
Eh bien si, justement, si tu n'utilises pas pconnect, les connexions se ferment automatiquement � la fin du script![]()
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework - Cours et tutoriels pour apprendre PHP - Forum PHP
Vous me rendez fous !! lol
okok merci beaucoup![]()
Je suis plut�t de l'avis de fermer la connexion � la base de donn�es d�s la derni�re requ�te effectu�e, autrement dit d�s qu'on en a termin� avec la couche Models de l'application.
Ca ne sert � rien, et peut m�me devenir nuisible de la laisser ouverte pendant le traitement des donn�es puis la g�n�ration de la vue, qui si elle est cons�quente, peut durer de 1 � plusieurs secondes.
Faux. La connexion se ferme � la fin du parsage du script PHP. Il y a pas de liaison permanente entre le navigateur et le serveur. Ce dernier envois �a page au navigateur et il ne le connait plus du tout. Heureusement que c'est ainsi parce qu'il faudrait des bases de donn�es ayant la possibilit� d'ouvrir des milliers de connexion en m�me temps.
C'est bien ce que je disais plus haut : Si tu as de tels temps de r�ponse, alors l'optimisation du nombre de requ�tes ouvertes est bien le dernier de tes soucis... Si ta vue met effectivement plus d'une seconde � s'afficher, alors il faut que tu te renseignes de toute urgence sur les techniques de mise en cache, mais tu peux tout de suite laisser tomber les sujets aussi triviaux que ce dont il est question ici![]()
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework - Cours et tutoriels pour apprendre PHP - Forum PHP
Et bien tant que j'y suis , je vais vous introduire une nouvelle question qui me trotte si vous voulez bien..
J'en profite vu qu'en m�me temps nous sommes dans un sujet qui traite l'optimisation ^^
Alors voila , j'ai fais un site (de vente mais peu importe) o� en faite je n'ai qu'une page "officielle" , c'est l'index.php..
j'utilise des modules donc , ce qui me donne quelque chose comme :
Et dans mes modules , j'ai parfois d'autres modules, des genres de sous modules en quelques sortes..
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12 <head> .. </head> <body> header(); if(isset($_GET['section']) && in_array($_GET['section'], $sections)) include('mod/' . $_GET['section'] . '.inc.php'); else code de la page d'accueil footer(); </body>
Est-ce l� un bon proc�d�?
J'ai not� pas mal d'avantages , notamment dans la lisibilit� et la structure, et par exemple un avantage : je ne dispose que d'une balise body , donc que d'une seul possibilit� de "onload" pour le JS.
J'aimerais avoir votre avis.. merci !
@libuma : Oui, c'est ce que l'on appelle un script de bootstrap, c'est une technique utilis�e par tous les frameworks modernes.
Les noms de fichiers viennent en effet d'une variable client $_GET['section'], mais tu supprimes le risque en utilisant une "liste blanche" avec un tableau local $sections. Ta m�thode est donc correcte et s�curis�e![]()
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework - Cours et tutoriels pour apprendre PHP - Forum PHP
Dans le cas d'un magazine en ligne, o� on aurait par exemple une quinzaine de requete SQL SELECT pour afficher diff�rents �l�ments sur la home, ne serait-ce pas plus malin de :
1/ Cr�er une table pour la home, o� dynamiquement � chaque modification cot� back office, �a update cette table qui contient uniquement les �l�ments � afficher sur la home
2/ Appeler avec une seule requete SQL SELECT tout le contenu de cette table et afficher son contenu au fur et � mesure de la page.
J'ai jamais lu ce genre de proposition qui en plus de faire des tables par type de donn�es fait aussi des tables par page.
Vous pensez que dans le cas de sql select c'est une solution pertinente ?
Bah si tu construits ta page avec 15 requ�tes SQL �a commence � faire. Plut�t que de cr�er un autre table sous pr�texte que c'est la page d'accueil et donc qu'elle est appel�e plus souvent, il faut plut�t la mettre en cache. Si ta page est affich�e 1 fois par seconde et que tu mets un cache d'une minute, les 15 requ�tes ne seront ex�cut�es que 1 fois sur 60, ce qui est largement acceptable.
En plus c'est super facile � faire !
Tout d�pend de quel type de mise en cache tu parles. Si c'est avec un syst�me de template, c'est lourd � mettre en place. Tu parles de quel type de mise en cache ?
Quelqu'un aurait-il r�cemment fait un bench foreach() vs array_map() vs array_map+create_function() ?
Il me semble que les lenteurs de array_map() ont �t� fix�es, non ?
j'ai aussi vus et entendu qu'il etait preferable d'utilis� directement les variable
exemple :
exemple:1
mieu que :
Code : S�lectionner tout - Visualiser dans une fen�tre � part echo $_POST['champ'];
exemple2
;
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3 $champ=$_POST['champ']; echo $cahmp;
a confirm� car je ne sait pas dutout si il y a une grosse diference
oui c'est vrais stealth35 mai peut on pas proteger une variable directement meme si elle n'es pas defini? par exemple :
mysql_real_escap_string($_POST['champ']);
je dis sa comme sa mai en meme temp vous etes plus experimenter que moi dans le domaine
si $_POST['champ'] n'existe pas oui tu vas avoir une erreur,
mais je te conseil d'oublier le mysql_real_escap_string, et de vite pass� sous mysqli ou PDO_MySQL
mysql_real_escape_string() c'est pour prot�ger une cha�ne de caract�re qui va �tre utilis�e dans une requ�te SQL via mysql_query() d'une injection SQL.
Passer � mysqli ou � PDO ne r�soudra pas le probl�me. Il y a des fonctions �quivalentes � utiliser.
Sinon il faut passer par des requ�tes pr�par�e, ce que les fonction mysql_ ne permettent pas.
htmlentities() / htmlspecialchars() permettent de prot�ger le code HTML qui sera envoy� au navigateur. (failles XSS, etc..)
Apres, le fait de passer par une variable interm�diaire plut�t que d'utiliser $_POST directement ne sert pas � grand chose � part consommer un peu plus de m�moire inutilement.
ne faite JAMAIS �a
Une des options de PHP pour faciliter la vie du d�veloppeur �tait de justement le faire de fa�on automatique.
il existe donc des Hack pour tenter de corrompre les scripts.
Donc si vous affectez un champs d'un POST � une variable
�vitez que cette variable ait pour nom la clef du champ
;...[/QUOTE]
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2 $n_importe_quoi_d_autre_que_champ=$_POST['champ']; echo $n_importe_quoi_d_autre_que_champ;
A+JYT
bonjour: svp mon fran�ais est trop faible mais j'essaye de m'exprimer pour mieux poser ma question .
dans un forum ou chat on trouve g�n�ralement une zone de texte je veux copier coller
dans cette zone une application visual basic et dans cette application un bouton si on clic sur ce bouton un texte apparait. b1 sur ce texte est pr�alablement programmer dans l'application par l'utilisateur de application et pas par l'utilisateur du chat ou du forum ,j'esp�re que c'est clair merci de votre compr�hension .
Bonjour,
Cette approche bien qu'elle soit juste dans l'intention n'est pas bonne du tout dans la forme, car c'est ainsi que fonctionnent la plupart des CMS et qui dans le cas pr�sent constiste � utiliser la BD pour faire de la persistance de classe ce qui est � proscrire dans un contexte o� les performances et la disponibilit� en charge doivent �tre garantis.Envoy� par alekusu
Dans le cas d'un site ecommerce il faut que la BD soit fortement normalis�e et par cons�quent qu'elle int�gre les sp�cificit�s m�tier et fonctionnelles de l'applicatif Web.
Pour ce qui est de l'affichage, appliquer votre vision est la bonne m�thode � ceci pr�s qu'il faille le faire avec des vues, bien qu'avec MySQL des requ�tes d�di�es soient le plus souvent les plus appropri�es.
++
_______________________________________
Azure Data Engineer & Azure DBA
Blog TSE sur developpez.com : Architectures web hautes performances en PHP
Les meilleurs tutoriels PHP sur developpez.com
Partager