04-09-2009, 10:43 AM
Je pense que vous vous emballez pour pas grand chose, dans le fond choisir telle ou telle convention n'engage que vous et votre équipe, ne cherchez pas à convaincre à tout prix ceux qui ne sont pas d'emblée d'accord avec vous. Je ne crois pas qu'il y ait de solution universelle.
Concernant les échos, je ne peux m'empecher de rebondir : a mon avis vous ne vous posez pas la bonne question. Quand on écrit du code, il faut surtout se demander ce que cela signifie. Voir ce que cela va générer comme tâches lorsque ce code sera executé. Le but étant de donner le moins de travail inutile au serveur, tout en restant lisible pour maintenance je l'accorde. Je vais illustrer cela en piochant dans vos exemples :
echo 'Moi j\'aime le '.$food.' !';
Signifie :
- concatèner la constante 'Moi j\'aime le ' avec le contenu de la variable $food
- concatèner dans cette zone mémoire la constante ' !'
- renvoyer le résultat vers la sortie standard
Ce qui pèche dans cette instruction est donc les deux concaténations inutiles.
echo "Moi j'aime le {$food} !";
Signifie :
- Analyser la chaine pour remplacement éventuel de variables
- Remplacer la variable $food par son contenu
- renvoyer cette zone mémoire vers la sortie standard
Ce qui pèche dans cette instruction est le temps perdu à l'analyse de la chaine de caractère et l'opération de remplacement inutile.
echo 'Moi j\'aime le ', $food, ' !';
Signifiant :
- Envoyer la constante 'Moi j\'aime le ' vers la sortie standard
- Envoyer ensuite le contenu de la variable $food
- Envoyer ensuite la constante ' !'
Aucune opération de concaténation, ni analyse de chaine superflue. pas d'utilisation de mémoire (à moins bien sur d'avoir activé ob_start, mais c'est une autre histoire)
Les gains de quelques milisecondes peuvent vous paraître dérisoires, mais si on se souvient que le serveur traite des tonnes de pages en parallèle (encore plus vrai sur un hébergement mutualisé ou un virtualisé) si chacune est un poil plus optimisé au final ça peut faire une grosse différence.
Concernant le côté lisible, il me semble difficile de trancher de manière objective entre les trois écritures. En général je préfère les simple quote que les guillemets pour la simple raison que vu que ça ne change pas grand chose à la lecture et que ça change beaucoup dans le travail demandé au serveur...
Concernant les échos, je ne peux m'empecher de rebondir : a mon avis vous ne vous posez pas la bonne question. Quand on écrit du code, il faut surtout se demander ce que cela signifie. Voir ce que cela va générer comme tâches lorsque ce code sera executé. Le but étant de donner le moins de travail inutile au serveur, tout en restant lisible pour maintenance je l'accorde. Je vais illustrer cela en piochant dans vos exemples :
echo 'Moi j\'aime le '.$food.' !';
Signifie :
- concatèner la constante 'Moi j\'aime le ' avec le contenu de la variable $food
- concatèner dans cette zone mémoire la constante ' !'
- renvoyer le résultat vers la sortie standard
Ce qui pèche dans cette instruction est donc les deux concaténations inutiles.
echo "Moi j'aime le {$food} !";
Signifie :
- Analyser la chaine pour remplacement éventuel de variables
- Remplacer la variable $food par son contenu
- renvoyer cette zone mémoire vers la sortie standard
Ce qui pèche dans cette instruction est le temps perdu à l'analyse de la chaine de caractère et l'opération de remplacement inutile.
echo 'Moi j\'aime le ', $food, ' !';
Signifiant :
- Envoyer la constante 'Moi j\'aime le ' vers la sortie standard
- Envoyer ensuite le contenu de la variable $food
- Envoyer ensuite la constante ' !'
Aucune opération de concaténation, ni analyse de chaine superflue. pas d'utilisation de mémoire (à moins bien sur d'avoir activé ob_start, mais c'est une autre histoire)
Les gains de quelques milisecondes peuvent vous paraître dérisoires, mais si on se souvient que le serveur traite des tonnes de pages en parallèle (encore plus vrai sur un hébergement mutualisé ou un virtualisé) si chacune est un poil plus optimisé au final ça peut faire une grosse différence.
Concernant le côté lisible, il me semble difficile de trancher de manière objective entre les trois écritures. En général je préfère les simple quote que les guillemets pour la simple raison que vu que ça ne change pas grand chose à la lecture et que ça change beaucoup dans le travail demandé au serveur...