Bonjour à tous,
Il est de notoriété publique que le principal usage de PHP soit la création dynamique de flux HTML. Mais bien qu'il existe diverses façons de produire et d'afficher ce flux de données, il n'y a pas vraiment de recommandations en la matière, chacun est libre de faire à sa convenance.
Je vous propose donc un petit sondage: quelle méthode employez-vous pour produire votre HTML ?
Traditionnellement, on peut tout simplement décrire son HTML et y insérer des balises spéciales là où on veut du dynamisme. Cette méthode était connue sous le nom de phtml et est d'ailleurs supportée nativement par Apache au même tittre qu'un script PHP classique:
En Mélangeant le PHP et le HTML
Code PHP : 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
17
18
19
20
21
22
23
24
25
26 <?php $user = "Jean"; $messages = array( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'Cras sit amet mi quis mauris varius dignissim id et ipsum.', 'Quisque id lacus lorem.' ); ?> <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title>Mes messages</title> </head> <body> <? if (!isset($user)): ?> <p class="error">Veuillez vous connecter</p> <? else: ?> <h2>Bienvenue <?=$user?></h2> <span>Vous avez <?=count($messages)?> messages en attente</span> <? foreach ($messages as $message): ?> <p class="message"><?=$message?></p> <? endforeach ?> <? endif ?> </body> </html>
Dans cet exemple, nous nous sommes servi de la syntaxe alternative ainsi que la directive short_open_tag que je trouve beaucoup plus claire et naturelle que l'imbrication d'accolades ouvrantes/fermantes.
On peut également recourir à la structure echo:
Avec echo
Code PHP : 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
17
18
19
20
21
22
23
24
25
26
27
28
29
30 <?php $user = "Jean"; $messages = array( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'Cras sit amet mi quis mauris varius dignissim id et ipsum.', 'Quisque id lacus lorem.' ); echo '<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title>Mes messages</title> </head> <body>'; if (!isset($user)) { echo '<p class="error">Veuillez vous connecter</p>'; } else { echo '<h2>Bienvenue ' . $user . '</h2>', '<span>Vous avez ' . count($messages) . ' messages en attente</span>'; foreach ($messages as $message) { echo '<p class="message">' . $message . '</p>'; } } echo '</body> </html>';
Ou encore, on peut utiliser un moteur de template tel que Smarty ou phpBB pour ne citer que les plus connus:
Avec Smarty
Code PHP : 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
17
18 <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title>Mes messages</title> </head> <body> {if $user} <p class="error">Veuillez vous connecter</p> {else} <h2>Bienvenue {$user}</h2> <span>Vous avez {$messages|@count} messages en attente</span> {foreach ($messages as $message)} <p class="message">{$message}</p> {/foreach} {/if} </body> </html>
Et vous ?
Laquelle de ces techniques utilisez-vous et pourquoi ?
Utilisez-vous un moteur template et lequel ?
Avez-vous une tout autre technique pour produire votre flux ?
Partager