remib18 / webtoon-like

Projet de second semestre de L1 informatique.
1 stars 1 forks source link

Moteur de template #30

Open remib18 opened 2 years ago

remib18 commented 2 years ago

Objectif Créer un moteur de template qui charge des fichiers .html contenant des blocs à remplacer dans le format {{ var }}var est un nom de variable à remplacer par la variable correspondante.

Appel

echo TemplateEngine::load('home', [
  'var' => $var
];

Définition Classe TemplateEngine dans /src/core.

Suivre l'interface suivante : (n'empêche pas de créer propriétés et méthodes privées)

// Ne pas oublier le namespace ! (auto générer par PHPStorm)

class TemplateEngine {

  /**
   * Charge un template
   * 
   * @param string $path Chemin du fichier HTML
   * @param array  $data Paramètres à modifier
   *
   * @return string HTML
   *
   * @throws WebtoonLike\Site\exceptions\NotFoundException En cas de fichier introuvable
   */
  public static function load(string $path, array $data): string;

}
remib18 commented 2 years ago

Aide

Regex : /{{ ?[\w]+ ?}}/m (cf. Regex101)

Algo simplifié :