Tp 6 php namespaces controllers blogpoo
Thème :
Junior
1 vues ·5/12 leçons04. Le Service Renderer (App\Renderer)
La fonction procédurale render() a été transformée en une classe statique pour centraliser la gestion de l’affichage.
Fonctionnement
La classe utilise la mise en tampon de sortie (ob_start) pour capturer le contenu de la vue avant de l’injecter dans un layout.
namespace App;
class Renderer {
public static function render(string $path, array $variables = [], string $layout = 'blog-layout'): void {
extract($variables);
ob_start();
require_once "resources/views/" . $path . "_html.php";
$pageContent = ob_get_clean();
require_once "resources/views/layouts/{$layout}/{$layout}_html.php";
}
}
Utilisation dans un Contrôleur
use App\Renderer;
Renderer::render('blog/index', ['articles' => $articles]);
Cela permet de changer globalement la manière dont les vues sont chargées sans modifier chaque fichier de l’application.
Prêt à passer à la suite ?
Vous avez terminé cette leçon sur 04. Le Service Renderer (`App\Renderer`). Continuez votre apprentissage avec la prochaine leçon ou explorez d'autres formations.