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 :

Php dans le HTML, ou l'inverse ?


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 17
    Points : 17
    Points
    17
    Par défaut Php dans le HTML, ou l'inverse ?
    Bonsoir à tous !

    Voilà, question bête s'il en est, mais je voudrais savoir s'il vaut mieux (sur tous les plans, lecture du code, lourdeur du chargement, etc) écrire le html dans les balises php ou pas, et (peut-être) si ça revient au même.

    Exemple : Vaut-il mieux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    echo'<html>Je fais du $blablabla !</html>';
    ?>
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <html>
    Je fais du <?php echo $blablabla; ?> !
    </html>
    J'ai essayé les deux, le premier me semble plus simple mais moins lisible, et les éditeurs que j'ai testé ne prennent pas en compte la syntaxe html quand elle est dans un echo...

    Merci de vos réponses !

    Edit : Je me rends compte en relisant que mon exemple est bête vu que dans le premier cas je n'ai pas à utiliser de balise html, je parle bien sûr de cas avec des <a> ou autres formulaires à générer dans des "if" etc ;=)

  2. #2
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 838
    Points
    2 838
    Par défaut
    Moi je dirais que ça dépend des proportions : si t'as bcp d'HTML il veut mieux la 2ieme solution, sinon la première

    Et sinon, le must => un moteur de template, afin d'avoir un fichier PHP et un fichier HTML Perso j'utilise SMARTY

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 17
    Points : 17
    Points
    17
    Par défaut
    Je viens d'aller voir sur google en quoi consistait un "moteur de template", ça a l'air sympa mais assez complexe à prendre en main et, sachant que j'aime tout savoir sur le code de mon site, j'ai peur de ne savoir me retrouver dans le code final, et ne savoir le retoucher

    Qu'en pensez-vous ?

    (et merci de votre réponse si rapide =D)

    Mit'

  4. #4
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 838
    Points
    2 838
    Par défaut
    Disons qu'en général, c'est assez compliqué de s'y retrouver dans un code quand on utilise pas de moteur de template. Qu'on utilise ta première solution ou la deuxième n'aura pas d'impact.

    Je dirais qu'il s'agit plus d'une habitude de travail

    Pour ce qui est des moteurs de template, il est vrai qu'au début c'est parfois un peu fastidieux mais une fois une bonne base mise en place c'est un gain de temps énorme et que du bonheur

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 17
    Points : 17
    Points
    17
    Par défaut
    Oki dac bah merci pour voss réponses, il est vrai qu'au départ ça paraît peu rentable en temps de se détourner du site en question pour apprendre à manier un logiciel, mais si le temps gagné au final est équivalent à ce que vous décrivez, ce n'en sera que bénéfique.

    Merci pour vos réponses en tout cas, et à bientôt peut être !

    Mit'

  6. #6
    Membre habitué
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 144
    Points : 151
    Points
    151
    Par défaut
    Oui tout à fait, c'est juste une habitude de travail.
    Le moteur de template te permet de te rapprocher d'une structure MVC (Model - View - Controller) dont le but est de créer une séparation logique dans ton code.

    En gros le Model correpond par exemple à tes données qui sont en base de données. La View est comme son nom l'indique le moyen (graphique) d'afficher tes données alors que le Controller te permet de créer la logique métier de ton application (ou site web).

    Dans ton cas, un moteur de template tel que Smarty de permet de gérer la vue et dans tes fichiers PHP, tu mixe Controller et Model. Bien sûr rien ne t'empèche de te former sur des Framework comme Zend ou Symphony qui le font très bien.

  7. #7
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 255
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 255
    Points : 8 548
    Points
    8 548
    Billets dans le blog
    17
    Par défaut
    En ce qui me concerne je préfère mettre le PHP dans le HTML, mais le moins possible. J'utilise aussi la syntaxe alternative, plus lisible http://fr.php.net/manual/fr/control-...ive-syntax.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
        require 'header.php' ;
        // Accès aux données
        $news = get_news( ) ;
        // Si erreur d'accès aux données ou autre je peux encore rediriger...
    ?>
    <html><!-- A partir de là je ne fais que de affichage et plus aucun traitement -->
    ...
    <h3>News</h3>
    <?php foreach ( $news as $tuple ) : ?>
    <h4><?php echo htmlentities($tuple->title) ?></h4>
    <p><?php echo htmlentities($tuple->summary) ?></p>
    <p><a href="read.php?id=<?php echo $tuple->id ?>">Lire la suite...</a></p>
    <?php endforeach ?>
    ...
    </html>

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2009
    Messages : 34
    Points : 40
    Points
    40
    Par défaut
    Je pense qu'il faut bien dissocier le HTML du PHP, comme les formes MVC charger les variables et faire les traitements avant l'affichage du html (le rôle d'un controlleur quoi ..) ensuite smarty ou le zend framework te permettrons de bien structurer (ou non ) ton appli..

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2005
    Messages : 58
    Points : 74
    Points
    74
    Par défaut
    Je ne pense pas (contrairement à ce qui a été dit) que la séparation MVC implique l'utilisation d'un moteur de template.

    A mon sens, l'utilisation de php "classique" au milieu du HTML permet de rendre le code simple à lire et à maintenir. Il faut néanmoins éviter le traitement des chaines (htmlentities, stripslashes, substr ...) au moment de l'affichage.

    Ainsi je ferai quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
    // Ceci devrait même être fait ailleurs (contrôleur)
    $blablabla = MaClasse::fonction_recuperation('42');
    $blablabla = substr(htmlentities(stripslashes($blabla)),-4);
    ?>
     
    <html>
    Je fais du <?php echo $blablabla; ?> !
    <!-- Quasiment aussi simple que "Je fais du {blablabla} !" -->
    </html>

Discussions similaires

  1. [Tableaux] Variable PHP dans tableau HTML
    Par Mut dans le forum Langage
    Réponses: 5
    Dernier message: 14/08/2007, 17h26
  2. Réponses: 9
    Dernier message: 04/07/2007, 19h27
  3. Insertion php dans page html
    Par Cyril012 dans le forum Langage
    Réponses: 6
    Dernier message: 07/04/2007, 13h22
  4. [MySQL] Erreur d'affichage d'un listing php dans un html
    Par carmen256 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 10/04/2006, 22h13
  5. Réponses: 8
    Dernier message: 08/02/2006, 15h16

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