IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Performance et syntaxe d'un fichier [PHP 5.0]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 256
    Par défaut Performance et syntaxe d'un fichier
    Bonjour,

    J'ai une petite question de performance et de syntaxe PHP.
    Dans le script que j'écrit actuellement, je mélange beaucoup le PHP et le HTML.

    Au niveau du code, lequel faut 'il prendre ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
    for($i=0;$i<10000;$i++){
    echo '<td>test'.$i.'</td>';
    }
    ?>
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    for($i=0;$i<10000;$i++){
    ?>
    <td><?php echo test'.$i; >?</td>
    <?php
    }
    ?>
    D'un point de vue performance, sur un script un peu plus conséquent, je trouve que le premier style d'écriture est plus rapide à exécuter que le second... alors que je pensais le contraire sachant qu'il faut qu'il interprète au fur et a mesure le PHP alors que l'html il l'affiche de suite.

    Qu'en pensez vous ?

    Merci !

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 28
    Par défaut
    Pas étonnant... dans le premier cas il y a moins de chose à parser et donc plus de code "brut"...

    Une étape de plus en résumé...

    Du plus performant au moins performant je mettrais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<td>test'.$i.'</td>';
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<td>test$i</td>";
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><?php echo 'test'.$i; ?></td>
    Mais j'hésite un petit peu entre les deux derniers.

    Sinon, dans les deux cas c'est moche comme code, sauf si c'est vraiment localisé... enfin bon c'est le genre de considération sujet à moult débats.

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Par défaut
    Pour ce genre d'optimisation de rien du tout, la plus performante est la plus lisible et la plus confortable.
    Le gain réel de la meilleure méthode est très très anecdotique.

  4. #4
    Membre chevronné
    Avatar de djayp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Par défaut
    Salut,

    Perso j'écrirai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    <?php
    $contenu='';
    for($i=0;$i<10000;$i++){
     $contenu.='<td>test'.$i.'</td>';
    }
    echo $contenu;
    ?>
    Ce qui t'évite d'appeler 10000 fois la fonction echo() et tu gagnes ainsi en performance. Ceci étant dit, tu ne verras forcément la différence sur un petit script comme celui-ci. Pour info, tu trouveras plein de conseils pour bien coder ici et optimiser ton code

    A++

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 256
    Par défaut
    Merci !!

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 28
    Par défaut
    Tout dépend du contexte...

    Souvent, en archi MVC (donc normalement propre), dans la vue, on a les templates et les librairies.

    Les templates sont des pages à dominantes HTML (ou autre). Dans ce cas on utiliserait plutot ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td>test<?php echo $i; ?></td>
    Si t'as une variable PHP noyée au milieu d'un océan de HTML, utilise ça.

    Les librairies sont là pour faciliter le développeur à mettre en place des composants complexes, comme un datagrid par exemple. Dans ce cas on plonge directement le HTML dans le code, de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<td>test'.$i.'</td>';
    Si t'as une pauvre petite balise HTML fourrée dans une botte de PHP, utilise ça.

    En fait, le tout est de rester pratique et lisible à mon avis. Et donc, pour savoir quel est la meilleur façon de faire, on peut réfléchir pour voir si c'est le côté statique ou le côté dynamique qui prédomine et comment ces deux parties s'entremêlent.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Performances en lecture d'un fichier (std::getline)
    Par TheSeb dans le forum SL & STL
    Réponses: 29
    Dernier message: 13/07/2012, 00h16
  2. Réponses: 13
    Dernier message: 18/07/2011, 17h24
  3. [XSLT] syntaxe inclure un fichier .xsl dans un autre ficher .xsl
    Par darkangel1208 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 02/10/2007, 16h26
  4. Erreurs syntaxe nom de fichier etc
    Par PhiberOptik dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 24/02/2007, 13h46
  5. Vérifiaction de syntaxe d'un fichier
    Par Bayard dans le forum Général Python
    Réponses: 5
    Dernier message: 04/11/2005, 21h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo