Comment bien tiret PHP/HTML code mixte?
Lors du mélange de PHP et de HTML, ce qui est le propre style d'indentation à utiliser? Dois-je tiret, de sorte que la sortie HTML a d'indentation, ou alors que le PHP/HTML mélange ressemble correctement formaté (et est donc plus facile à lire)?
Par exemple, dire que j'ai un foreach
boucle en sortie de lignes de la table. Dont celui ci-dessous est correct?
PHP/HTML mélange semble correct:
<table>
<?php foreach ($rows as $row): ?>
<tr>
<?php if ($row->foo()): ?>
<?php echo $row ?>
<?php else: ?>
Something else
<?php endif ?>
</tr>
<?php endforeach ?>
</table>
Sortie HTML semble correct:
<table>
<?php foreach ($rows as $row): ?>
<tr>
<?php if ($row->foo()): ?>
<?php echo $row ?>
<?php else: ?>
Something else
<?php endif ?>
</tr>
<?php endforeach ?>
</table>
J'ai constaté que quand j'ai couru dans cette situation (assez souvent), je n'ai pas de style standard à utiliser. Je sais qu'il peut ne pas être une "bonne" réponse, mais j'aimerais entendre les pensées des autres développeurs.
Vous devez vous connecter pour publier un commentaire.
Le PHP et le HTML devrait être en retrait, de sorte qu'ils sont corrects à l'égard d'eux-mêmes sous forme de code source, indépendamment les uns des autres et de sortir de la forme:
J'ai souvent réfléchi à cette question, mais j'ai réalisé, qui se soucie de ce que la sortie HTML ressemble? Vos utilisateurs ne devraient pas être à la recherche à votre HTML, de toute façon. C'est pour VOUS à lire, et peut-être quelques autres développeurs. Garder le source code le plus propre possible et oublier à quoi ressemble la sortie.
Si vous avez besoin de déboguer la sortie, utilisez Chrome Developer Tools, Firebug, ou encore les Outils F12.
En général j'ai mis ouverture des balises php au début de la ligne, mais le tiret tout ce qui est à l'intérieur de balises pour correspondre à la mise en forme html. Je ne fais pas ceci, cependant, pour le simple écho de déclarations depuis que j'utilise court balises ouvertes. Je pense qu'il est plus simple lorsque la navigation à travers les fichiers pour trouver toutes les déclarations.
Vous pouvez toujours utiliser un peu d'espace trop pour aider à la lisibilité. Bâtiment sur le chaos' indentation:
Le seul inconvénient de ceci est que si vous avez beaucoup de code mixte, il peut rendre votre document deux fois plus longtemps, ce qui rend pour plus de défilement. Bien que si vous avez cette quantité de code mixte, vous pourriez envisager d'utiliser un moteur de template.
Vous ne devez pas être dérangé sur la majoration de l'indentation dans l'environnement de production. Ni devriez-vous utiliser à Ranger ou à d'autres HTML purificateurs. Valide les cas d'utilisation, par exemple lorsque vous vous permettez d'entrée HTML (mais pensez à utiliser Markdown au lieu de cela), même si elles sont rares.
Le plus souvent HTML beautifiers-les filtres sont utilisés pour cacher les problèmes sous-jacents avec le code. Ne le faites pas. Corriger votre balisage manuellement.
Si vous avez besoin d'indenter votre code uniquement dans l'environnement de développement, vous pouvez utiliser l'un des ci-dessus. Cependant, méfiez-vous que ces bibliothèques va tenter de résoudre votre balisage (c'est leur but principal; retrait est un sous-produit). J'ai écrit l'Expression Régulière en fonction de l'indentation outil Dindent.
Dindent permettra de convertir de balisage comme ceci:
À ceci:
Dindent de ne pas tenter de nettoyer ou autrement interférer avec votre code au delà de l'ajout d'indentation. C'est pour faire de votre développement/débogage plus facile. Pas pour la production.