Geré son HTML correctement, template ?

Le problème exposé dans ce sujet a été résolu.

Bonjour,

Je code en PHP depuis relativement longtemps, et je me suis toujours posé une question sur un problème que je trouve relativement embêtant.

Si on prend avec Django, on peut géré nos templates de cette manière:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<div class="topic-description">
    <a href="{{ forum.get_absolute_url }}" class="navigable-link">
        <h4 class="topic-title" itemprop="itemListElement">
            {{ forum.title }}
        </h4>
    </a>
    <span class="topic-subtitle">
        {{ forum.subtitle }}
    </span>
</div>

Et j'aimerais avoir un système (similaire ou non) pour pouvoir géré des templates en PHP.

Actuellement j'ai utilisé plusieurs système, mais aucun ne me convient vraiment.

  1. Via un include d'une page qui contient mon HTML (et du PHP) avec un return.

Mon Controller:

1
2
3
4
<?php
$param = 'test';
$content = include 'content.php';
require_once 'view.php';

Ma vue: (Qui possède le DOCTYPE, head, etc.)

1
2
3
<html>
   <?php echo $content;?>
</html>

Mon contenu:

1
2
3
4
<?php
return '
   <p>Salut</p>
';

Désavantage de ce sytème:

  • On a un return vraiment pas pratique, on doit échaper tous les ' ou ".
  • Avec certain éditeur, étant donné que c'est une page PHP il ne color pas le HTML
  • Les conditions et boucles ne sont pas pratique à faire.
  1. Via un file_get_contents

Cette solution est presque bien, car pas besoin d'un return donc pas de problème à ce niveau.

Mais le problème majeur est que le PHP n'est pas interprété, donc on a un simple fichier HTML en sortie.

+0 -0

Tu peux regarder du côté de Twig, c'est ce que Symfony utilise.

C'est assez bien documenté si on comprend l'anglais, n'hésite pas à demander si tu veux des éclaircissements sur un point.

EDIT :

La documentation est divisée en deux : Pour le développeur (back end), pour le web designer (front end).

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte