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

MVC PHP Discussion :

Affichage d'une vue


Sujet :

MVC PHP

  1. #1
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut Affichage d'une vue
    Bonjour,

    ma question est simple : pourquoi utiliser toujours cette syntaxe dans une vue :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php foreach($this->variables as $variable) : ?>
    ...
    <?php endforeach; ?>

    Un simple code comme suit ne suffirait pas ?

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php foreach($this->variables as $variable){  ?>
    ...
    <?php } ?>

    Merci

    EDIT:

    Dans un tuto, j'ai vu cela mais je ne comprends toujours pas pourquoi

    Une boucle classique foreach: est utilisée pour parcourir la liste des albums, et nous utilisons la syntaxe alternative avec deux points et endforeach; car elle est plus simple à lire que d'essayer de faire correspondre des accolades.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 49
    Points : 64
    Points
    64
    Par défaut
    Le seul avantage que j'y vois (je ne l'utilise pas pour autant), c'est que dans un code un peu long ou chargé, on identifie plus facilement las fins de blocs.

    est moins anonyme que
    Mais bon, comme toute syntaxe "alternative", ça reste une question de préférences propre à chaque individu.

  3. #3
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Ok, merci

    je vois cette syntaxe dans tous les tutos ou presque alors je pensais que c'était presque une syntaxe obligatoire sinon conseillée.

    De même, j'ai vu que la balise fermante php (?>) n'est jamais utilisée et j'ai vu qu'il ne faut pas la mettre, donc je ne la mets pas mais je vois pas vraiment pourquoi...

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 178
    Points : 230
    Points
    230
    Par défaut
    Hello,

    Pour le coup de la balise fermante php l'explication est assez subtile pour des gens qui n'auraient jamais utilisé l'output buffuring à la mano

    En résumé, lorsque le parser lit un fichier php, il s'attend à ce que le code php soit mixé dans du texte qu'il doit ignorer (typiquement du html).

    Normalement, pour améliorer le temps de réponse php commence à renvoyer le html au navigateur dès qu'il rencontre du texte hors des balises php (c'est l'output).

    Ça peut devenir un problème car l'envoi du 1er caractère de la réponse enclenche aussi l'envoi des entêtes de réponse HTTP (type du fichier, date de modif, etc).

    À la grande époque, on devait faire la chasse aux caractères en dehors des balises php pour ne pas déclencher l'envoi des entêtes, le truc marrant c'est que n'importe quel caractère suffit même un espace ou un retour à la ligne.

    Donc pour être sur de son coup on en est venu à dire que pour les fichiers ne contenant que du php on doit commencer par la balise ouvrante php et ne pas mettre la balise fermante pour ne pas prendre le risque de mettre un caractère après.
    Le moteur php travail par fichier et recherche la balise fermante ou la fin de fichier.

    Désormais les codes actuels ont tendance à se baser sur l'activation de l'output buffuring qui met la sortie dans une mémoire tampon jusqu'à la fin du script ou jusqu'à une commande explicite d'envoi de la réponse.
    Le soucis d'envoi prématuré de la réponse ne risque plus d'intervenir qu'avant le 1er appel à ob_start() mais reste toujours présent.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 49
    Points : 64
    Points
    64
    Par défaut
    Les caractères intempestifs après les balises fermantes peuvent avoir d'autres conséquences dans le cas où le flux de sortie demande un soin particulier au niveau du format. Exemple : les services web, qui renvoient du XML.

    J'en ai bavé au début avec mes services web, mes tests client renvoyaient "looks like we got No XML" où quelque chose dans ce goût là. Ceci provenait de sauts de lignes intempestifs ajoutés en début de réponse par des inclusions de classes dont les fichiers présentaient des sauts de ligne après la balise fermante.

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 178
    Points : 230
    Points
    230
    Par défaut
    Ça peut aussi empêcher d'initialiser une session, faire une redirection, etc…

    Mais ta remarque sur les formats est très juste, imagine le résultat avec une url qui génère une image

Discussions similaires

  1. Problème d'affichage d'une vue (images & css)
    Par mega_info dans le forum MVC
    Réponses: 2
    Dernier message: 02/06/2008, 14h14
  2. Réponses: 0
    Dernier message: 26/05/2008, 17h41
  3. affichage d'une vue DB2 sur forms
    Par Habib naceur dans le forum DB2
    Réponses: 1
    Dernier message: 17/12/2007, 17h29
  4. Affecter une vue/affichage de bibliothèque
    Par st_vinja dans le forum SharePoint
    Réponses: 4
    Dernier message: 26/11/2007, 13h47
  5. Réponses: 4
    Dernier message: 25/04/2006, 17h14

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