Titre: [Traduction] PHPCon2002 | Tips ans Tricks
Posté par: Fabien le le 23-11-2002 a 22:31:23
Le but de ce sujet est la traduction de l'anglais vers le français du document Tips and Tricks (PHPCon2002) de Rasmus Lerdorf disponible ici :
http://www.lerdorf.com/tips.pdf (http://www.lerdorf.com/tips.pdf) 1.62 Mo
Ce post n'est donc là que pour les traductions !!
Si vous voulez vous joindre au projet, postez vos traductions ici. Essayer avant de traduire un passage de verifier si quelqu'un ne l'a pas déjà traduit (pour les relectures on vera plus tard)
Pour plus d'info vous pouvez nous contacter Shain ou moi :
Shain http://www.forum-webmaster.com/f/index.php?board=5;action=imsend;to=Shain (http://www.forum-webmaster.com/f/index.php?board=5;action=imsend;to=Shain)
Fabien http://www.forum-webmaster.com/f/index.php?board=;action=imsend;to=skink (http://www.forum-webmaster.com/f/index.php?board=;action=imsend;to=skink)
Tous les posts autres que des traductions seront supprimés. |
Titre: Re:[Traduction] PHPCon2002 | Tips ans Tricks
Posté par: Fabien le le 23-11-2002 a 22:32:36
Trucs et Astuces PHPCon2002 October 24, 2002. Milbrae, CA Rasmus Lerdorf <rasmus@php.net>
OPTIMISATION
N'utilisez pas les expressions régulières si vous n'en avez pas besoin !! PHP dispose de puissantes fonctions de manipulations de chaines de charactères
MAUVAIS : <? $new = ereg_replace("-","_",$str); ?> BON : <? $new = str_replace("-","_",$str); ?>
MAUVAIS : <? preg_match('/(\..*?)$/',$str,$reg);?> BON : <? substr($str,strrpos($str,'.')); ?> |
Titre: Re:[Traduction] PHPCon2002 | Tips ans Tricks
Posté par: Fabien le le 23-11-2002 a 22:37:20
Utilisation de connexions persistantes aux BDD
Certaines BDD sont plus lentent que d'autres pour établir une connexion. Plus la connexion est lente, plus l'impact de l'utilisation de connexion persistence sera important. Mais garder à l'esprit que les connexions persistante utiliseront plus de ressources même quand elles ne sont pas utilisées. Watch your resource limits as well. For example, by default Apache's
Note : certains hébergeurs désactivent pconnect() -> genre OVH |
Titre: Re:[Traduction] PHPCon2002 | Tips ans Tricks
Posté par: Fabien le le 23-11-2002 a 22:42:53
Eh Einstein !
Ne compliquez pas l'architecture des scripts. Si la solution d'un problème vous semble trop complexe, il y a probablement une approche plus simple et plus évidente. Lachez votre ordinateur et allez dans une grande pièce et pensez à autre chose pendant un moment. |
Titre: Re:[Traduction] PHPCon2002 | Tips ans Tricks
Posté par: Fabien le le 24-11-2002 a 12:26:21
Ajouter une extension :
Problème : Vous avez besoin des fonctions FTP de PHP pour le super script que vous êtes en train d'ecrire, mais votre hébergeur n'a pas PHP compilé avec l'option --enable-ftp.
Solution :
Si vous avez un compte shell sur un système avec le même systeme d'exploitation que le serveur web, téléchargez les sources de PHP et lancez la compilation en utilisant :
--with-apxs --enable-ftp=shared
Vous pouvez contrôler les options de votre hébergeur concernant PHP avec un script contenant la fonction phpinfo() :
<?phpinfo()?>
Une fois compilé vous trouverez le fichier "modules/ftp.so" que vous pourrez copier sur votre serveur web et le mettre en service en ajoutant :
extension=ftp.so
dans le fichier php.ini ou en ajoutant en haut de votre script :
<?php dl("ftp.so") ?> |
Titre: Re:[Traduction] PHPCon2002 | Tips ans Tricks
Posté par: FireLink le le 31-12-2002 a 15:37:12
Expiration du cookie
Problème: Cookies à expiration courte dépendent des utilisateurs ayant leur horloge interne réglée correctement...
Soluction:Ne dépendez pas des utilisateurs ayant leur horloge réglée correctement. Réglez le temps basée sur l'heure de votre serveur.
<?php $value = time()+3600 . ':' . $variable; SetCookie('Cookie_Name',$value); ?>
Quand vous recevez le cookie décodez-le et déterminez si il est valide.
<?php list($ts,$variable) = explode(':',$Cookie_Name,2); if($ts < time()) { ... } else { SetCookie('Cookie_Name',''); } ?> |
Titre: Re:[Traduction] PHPCon2002 | Tips ans Tricks
Posté par: FireLink le le 31-12-2002 a 16:38:07
HTTP
Client/Requête serveur/Réponse
HTTP est un simple protocole client/serveur avec des séquences de requêtes sans état.
La requête HTTP du client
Il existe 7 types de requêtes au HTTP 1.1: GET, PUT, POST, DELETE, HEAD, OPTIONS and TRACE. N'importe quel nombre de headers HTTP peuvent accompagner une requête...
GET /filename.php HTTP/1.0 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */* Accept-Charset: iso-8859-1,*,utf-8 Accept-Encoding: gzip Accept-Language: en Connection: Keep-Alive Host: localhost User-Agent: Mozilla/4.77 [en] (X11; U; Linux 2.4.5-pre4 i686; Nav)
La réponse HTTP du serveur
HTTP/1.1 200 OK Date: Mon, 21 May 2001 17:01:51 GMT Server: Apache/1.3.20-dev (Unix) PHP/4.0.7-dev Last-Modified: Fri, 26 Jan 2001 06:08:38 GMT ETag: "503d3-50-3a711466" Accept-Ranges: bytes Content-Length: 80 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/html
|
Titre: Re:[Traduction] PHPCon2002 | Tips ans Tricks
Posté par: FireLink le le 03-03-2003 a 01:18:04
Keep alive
Quand une requête de "keep alive"est acceptée, le socket reste ouvert après chaque réponse de "keep alive". Notez qu'un keep alive est seulement possible quand les réponses des includes contiennent un header de la longueur du contenu.
request 1 request 2 request 3 request 4 20 bytes 120 bytes 60 bytes ?? bytes
Vous ne pouvez pas compter sur le dispositif de keep alive pour aucune sorte de niveau d'application pour conserver une session (pas sur si c'est ça)
Utilisation du Output buffering pour obtenir la longueur du contenu (pas sur non plus)
<?php ob_start(); echo "Your Data"; $l = ob_get_length(); Header("Content-length: $l"); ob_end_flush(); ?>
You will have to weigh the trade-off between the extra cpu and memory that output buffering takes against the increased effciency of being able to use keep-alive connections for your dynamic pages. Là je comprend rien |
Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.
|