optimisation php / html

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : optimisation php / html

par Xenon_54 » 04 janv. 2007, 08:40

En effet, je n'utilise que ma classe de template. Et elle est bien pratique.
J'hésite encore à la partager à tous sur PHPFrance.

Suis-je normal docteur?

par mcorgnet » 03 janv. 2007, 17:35

Je ne pense pas Xenon parlait de séparer le php/html comme tu l'entends victor, mais qu'il s'étonnait de voir que l'on utilisait pas tous des templates ;-)
(peut-être me trompe-je?)
Je pense que c'est ça.

Personnellement je n'utlise plus que les templates. Même si ça complique légèrement les formulaires dynamiques, débugger deviendrait presque un plaisir.

par jojolapine » 02 janv. 2007, 15:32

Je ne pense pas Xenon parlait de séparer le php/html comme tu l'entends victor, mais qu'il s'étonnait de voir que l'on utilisait pas tous des templates ;-)
(peut-être me trompe-je?)

par Victor BRITO » 02 janv. 2007, 13:48

Vous incluez encore du HTML dans votre code? :lol:
Pour ma part, je ne l'inclus dans un echo que dans le cas d'attributs d'éléments de formulaire n'apparaissant que sous certaines conditions. Par exemple:
<form>
  <label for="moninput">Grosminet</label>
  <input id="moninput" name="moninput" type="checkbox" <?php if ($titi=='Grosminet') echo 'checked="checked"'; ?> />
</form>

par Xenon_54 » 29 déc. 2006, 15:55

Vous incluez encore du HTML dans votre code? :lol:

;)

par rod » 29 déc. 2006, 14:44

Vu que j'utilise MVC (avec le Z-F) ce n'est pas difficile de trouver les erreurs. Car toute la partie des traitements est faite en amont.

par Ajoloca » 29 déc. 2006, 14:34

Pour une boucle, j'utilise :
<html>
  <head>
    <title>Liste des membres</title>
  </head>
  <body>
    <?php if ($membres): ?>
    <div id="membres">
      <?php foreach ($membres as $membre): ?>
      <div class="<?php echo $membre->id ?>">
        <p><?php echo $membre->description ?></p>
      </div>
      <?php endforeach ?>
    </div>
    <?php else: ?>
    <p>Aucun membre disponible.</p>
    <?php endif ?>
  </body>
</html>
Perso. j'ai l'habitude et je trouve ça plus clair.
C'est vraiment, mais alors vraiment pas mon cas.
Je me vois mal déboguer un script de + de 100 lignes avec cette façon d'écrire.

par rod » 29 déc. 2006, 14:22

Pour une boucle, j'utilise :
<html>
  <head>
    <title>Liste des membres</title>
  </head>
  <body>
    <?php if ($membres): ?>
    <div id="membres">
      <?php foreach ($membres as $membre): ?>
      <div class="<?php echo $membre->id ?>">
        <p><?php echo $membre->description ?></p>
      </div>
      <?php endforeach ?>
    </div>
    <?php else: ?>
    <p>Aucun membre disponible.</p>
    <?php endif ?>
  </body>
</html>
Perso. j'ai l'habitude et je trouve ça plus clair.

par Ajoloca » 29 déc. 2006, 13:18

Bonjour,

Je ne serait pas aussi catégorique. Je dirai que c'est fonction du contexte.
Si on est dans une partie ou le (X)HTML est plus important (en nombre de lignes) comme dans l'exemple du
<title><?php echo $titre ?></title>
il est préférable d'ouvrir et de fermer les tags PHP.
En revanche je trouve que l'abus de cette technique perturbe la lecture et la compréhension du code.
Comme ceci
<?php if ($qqChose == $autreChose)
{ ?>
<tr><td><?php echo $cell ?> </td></tr>
<?php
}
?>
Donc un juste milieu me semble plus adapté.

par zeus » 29 déc. 2006, 13:03

Je n'ai plus la main sur les benchs mais j'ai découvert récemment que le temps écoulé à chaque <?= ou <?php est souvent supérieur au temps d'interpréter les echo :?

Par contre, personnellement, pour des raison de séparation du code et de coloration syntaxique, je préfère n'utiliser le PHP que là où il est nécessaire ;)

par rod » 29 déc. 2006, 12:19

De plus ton code sera plus clair, par exemple :
<?php

echo '<html><head>';
echo '<title>' . $title . '</title>';
echo '</head>';

?>
Et quand même moins clair que
<html>
    <head>
        <title><?php echo $title ?></title>
    </head>

par mere-teresa » 29 déc. 2006, 12:09

Un autre intérêt de n'ouvrir les balises <?php ?> que pour le PHP est de profiter de la coloration syntaxique pour le HTML aussi.

par Cyrano » 29 déc. 2006, 12:05

La seconde solution sera la plus rapide, et c'est logique : le HTML est un langage client : il est donc inutile de le faire passer dans l'interpréteur PHP et on peut l'envoyer tel quel au navigateur pour ne faire exécuter que le code PHP coté serveur.

Donc en alternant, l'interpréteur va construire la page en interprétant le PHP pour créer la partie HTML, puis ajouter ce qui n'est pas identifié comme du PHP et finalement envoyer la page complète.

optimisation php / html

par secral » 29 déc. 2006, 10:24

Bonjour,

Je voudrais savoir ce qui est le plus rapide à l'execution et le moins gourmand en ressources pour le serveur :

Ouvrir une balise php en debut de feuille et la fermer à la fin en integrant tout le code dans des echo pour le html.

ou

de faire le contraire, c'est a dire n'ouvrir les balises php que lorsqu'on a besoin d'executer une instruction php et refermer la balise des que l'on repasse au html ???

Merci pour vos réponses et bonne journée.