IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Voir le flux RSS

Séb.

Pensez alternative (et short echo tag)

Noter ce billet
par , 27/05/2022 à 10h57 (2771 Affichages)
Une des grandes forces de PHP est sa possible intégration au HTML d'une page web. Cette force est aussi une faiblesse lorsqu'elle est mal utilisée.

Tous les projets ne nécessitent pas une architecture MVC ou un framework tel Laravel, néanmoins ils méritent tous une programmation propre, lisible et maintenable. Pour cela, un bon début, simple à mettre en œuvre, tient en seulement trois grands principes :



Un script d'un cas classique, affichant un formulaire de connexion ou une table de données, tel que celui-ci :

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
 
include 'inc/settings.php';
include 'inc/connection.php';
 
?>
<!doctype html>
<html>
    <head>...</head>
    <body>
 
<?php
 
if (user_connected()) {
 
?>
 
    <form>
        ...
    </form>
 
<?php 
 
} else { 
 
    $data = get_data();
 
    if ($data !== null) {
?>
 
    <table>
        <tr>
            <th>Header-1</th>
            <th>Header-2</th>
        </tr>
 
<?php
        foreach ($data as $row) {
            echo '<tr>';
            echo "<td>{$row->column1}</td>";
            echo "<td>{$row->column2}</td>";
            echo '</tr>';
        }
 
        echo '</table>';
 
    } else {
        echo '<p>Serveur MySQL injoignable<pp>';
    }
}
?>
    </body>
</html>

Peut ainsi être reformulé plus clairement ainsi :

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
31
32
33
34
35
36
37
38
39
40
41
42
<?php
 
include 'inc/settings.php';
include 'inc/connection.php';
 
$data = get_data();
 
?>
<!doctype html>
<html>
    <head>...</head>
    <body>
 
        <?php if (user_connected()): ?>
 
            <form>
                ...
            </form>
 
        <?php elseif ($data === null): ?>
 
            <p>Serveur MySQL injoignable</p>
 
        <?php else: ?>
 
            <table>
                <tr>
                    <th>Header-1</th>
                    <th>Header-2</th>
                </tr>
                <?php foreach ($data as $row): ?>
                    <tr>
                        <td><?= $row->column1 ?></td>
                        <td><?= $row->column2 ?></td>
                    </tr>
                <?php endforeach ?>
            </table>
 
        <?php endif ?>
 
    </body>
</html>

Grâce aux endif et endforeach on sait immédiatement quel bloc est fermé. Les short open tags rendent le HTML plus clair et responsabilise PHP sur l'affichage de données uniquement. On se rapproche d'une Vue.

La syntaxe alternative est disponible pour if, foreach, for, while et switch.

do ne supporte pas de syntaxe alternative ; la syntaxe alternative de switch est tellement contraignante qu'on peut la considérer comme inutilisable et l'oublier

Astuce pour alléger le code : le short echo tag ne nécessite pas de ";" final.

Envoyer le billet « Pensez alternative (et short echo tag) » dans le blog Viadeo Envoyer le billet « Pensez alternative (et short echo tag) » dans le blog Twitter Envoyer le billet « Pensez alternative (et short echo tag) » dans le blog Google Envoyer le billet « Pensez alternative (et short echo tag) » dans le blog Facebook Envoyer le billet « Pensez alternative (et short echo tag) » dans le blog Digg Envoyer le billet « Pensez alternative (et short echo tag) » dans le blog Delicious Envoyer le billet « Pensez alternative (et short echo tag) » dans le blog MySpace Envoyer le billet « Pensez alternative (et short echo tag) » dans le blog Yahoo

Tags: php
Catégories
HTML / CSS , PHP , Développement Web

Commentaires