J'aime t o utiliser PHP comme moteur de template et utiliser un pattern MVC. Afin de conserver la logique View and Business séparée, seuls quelques types de code PHP sont autorisés dans la vue, qui est le code HTML. Le code autorisé est:
* Single functions
* Alternate format If/Else/ElseIf blocks
* Alternate format For loops
* Alternate format Foreach loops
* Alternate format Switch statements
PHP propose une syntaxe alternative pour certaines de ses structures de contrôle; à savoir, si, pendant, pour, foreach et switch. Dans chaque cas, la forme de base de la syntaxe alternative consiste à remplacer l'accolade ouvrante par un signe deux-points (:) et l'accolade fermante par endif ;, endwhile ;, endfor ;, endforeach; ou endwitch ;, respectivement. Ces formats alternatifs sont les seuls formats à utiliser dans la vue.
Je vais admettre que la syntaxe PHP alternative est plus lente (parce que l'interpréteur saute dans et hors des balises PHP). Mais, cela équivaut généralement à des millisecondes de temps de traitement et fait peu de différence avec les serveurs d'aujourd'hui dans la plupart des environnements.
Enfin, je préfère utiliser des balises PHP abrégées dans la vue. Ceci est généralement reconnu comme une mauvaise idée car il y a moins de support de serveur. Mais, je crois que cela améliore légèrement la lisibilité (en particulier en utilisant PHP comme moteur de template) et j'éviterais généralement un hébergeur où je ne pourrais pas contrôler de telles choses.
Je le décris un peu plus en détail et j'ai quelques exemples sur mes pages web sur un modèle que j'ai créé pour des applications PHP basées sur le web. Vous le trouverez sur l'URL ci-dessous.
http://www.joeldare.com/wiki/applate
Il n'y a pas besoin pour le $ i, $ forums [] [ 'sdf'] fonctionnent aussi. –
Non, cela ajouterait 4 nouveaux éléments à la matrice à chaque fois dans la boucle, chacun avec un jeu de variables. –
La structure indent-inside-PHP-block-as-tag-like est bonne, mais souvenez-vous de htmlspecialchars() le nom et la description du forum pour éviter l'injection HTML. – bobince