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 :

Faut-il limiter l'utilisation des "echos"?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif

    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 354
    Par défaut Faut-il limiter l'utilisation des "echos"?
    Bonjour à tous,

    j'aimerais savoir si dans un code en PHP5 par exemple il est bien de faire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    public function lambda(){
    echo "lignes de HTML";
    quelques traitements php
    echo "lignes de HTML"
    quelques traitements php etc...
    }?>
    Ou bien si il vaut mieux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    public function lambda(){
    ?> lignes de HTML <?php
    quelques traitements php
    ?> 10 lignes de HTML <?php
    quelques traitements php etc...
    }?>
    Ou alors préconisez-vous d'utiliser ob_start(), si j'ai bien compris, ob_start() doit être appelé au début avant le premier echo, et à la fin, on met ob_end_flush() et tout est appelé d'un coup?

    Pourriez-vous me dire lequel est le plus économique en terme de temps et d'optimisation selon vous?

    Merci beaucoup

  2. #2
    Membre très actif
    Avatar de Nowwis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2009
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2009
    Messages : 406
    Par défaut
    Les echo sont pour moi les plus rapides.

    Mais par contre pour le développeur c'est pas top.

    D'après mes tests (en local) :
    Sur 100 paragraphes Lorem Ipsum affiché :
    en HTML pur : environ 2sec
    en PHP avec echo : 0.0001sec

    c'est assez convaincant. Donc privilégier la vitesse ou la modification et compréhension du code aisément c'est à voir.

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    C'est surtout l'utilisation d'HTML dans le PHP qu'il faut limiter.
    Ecrit tout ton code PHP puis en bas de page (par exemple) ecrit l'HTML avec les appels aux fonctions PHP nécessaires.
    L'étape d'après c'est le MVC
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre très actif

    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 354
    Par défaut
    Nowwis, je préfère utiliser les echo on est bien d'accord,

    mais je voulais savoir quelles sont les meilleurs performances, merci pour tes tests

    Oui j'utilise déjà le MVC grunk, mais par contre je n'écrivais aucun HTML, mon HTML je l'ai toujours écrit par des "echos". Comme on a toujours besoin d'inclure des variables php dans notre html, donc moi mon code a toujours été du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<div id="content" class="'.$class_content.'">'.$value.'</div>';
    Mais comme au fil du code, les fichiers deviennent lourds, je voulais savoir si je m'orientais bien vers une solution qui soit correcte en terme de performance sans pour autant être la meilleure.

  5. #5
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Si tu utilise déjà le MVC tu devrais donc avoir des vues.
    pour moi ces vues doivent être en html et contenir quelques touches de php quand nécessaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <html>
    [...]
    <div> Bonjour <?= $nom ?></div>
    <div>
    Voici la liste de vos achats : <br />
    <ul>
    <?php
    foreach($achats as $item)
        echo '<li>'.$item.'</li>';
    ?>
    </ul>
    </div>
    </html>
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre très actif

    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 354
    Par défaut
    Non je n'écrit aucun HTML.

    Mon MVC est du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $accueil->displayHeaders($params);
    ...
    $page->displayFooter();
    ça me permet de personnaliser les headers, que ce soit mes css, js, etc... selon la page et sans trop me prendre la tête. Pour éviter de charger des fichiers dont je n'ai pas besoin sur toutes les pages.

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

Discussions similaires

  1. Faut-il que j'utilise des threads ?
    Par djiga4me dans le forum Langage
    Réponses: 5
    Dernier message: 29/12/2009, 02h36
  2. Requête SELECT : limite d'utilisation des index
    Par DadaWeb dans le forum Requêtes
    Réponses: 7
    Dernier message: 07/12/2005, 23h24

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