Bonsoir a tous. Le libellé du sujet n'est pas très parlant mais bon....
Je suis entrain de créer un mini framework pour mes projets perso et j'aimerai mettre en place un système de capture de bloc comme sur cakephp
du genre
J'ai essayé un truc bizarre mais j'aime pas trop l'approche
Utiliser les fonctions natives de PHP n'est pas très cool. J'aimerai bien une façade pour masquer l'utilisation de ob_start() et ob_get_clean() au niveau de la vue
Je suis entrain de créer un mini framework pour mes projets perso et j'aimerai mettre en place un système de capture de bloc comme sur cakephp
du genre
// Dans la vue
<?php $this->start('sidebar'); ?>
<h2>Ma sidebar</h2>
<ul><li>test</li><li>test 2</li></ul>
<?php $this->end(); ?>
// Dans le layout
<?= $this->fetch('sidebar'); ?>
J'ai essayé un truc bizarre mais j'aime pas trop l'approche
// Dans la vue j'ai...
<?php ob_start() ?>
#container {
background: #76b4ee;
}
<?php Layout::block('css', ob_get_clean()); ?>
// Dans le layout
<?php Layout::show('css'); ?>
// Code de la classe Layout
<?php
class Layout {
private static $_blocks = [];
public static function block($name, $content)
{
self::$_blocks[$name] = $content;
}
public static function show($name)
{
echo self::$_blocks[$name] ?? null;
}
}
?>
Utiliser les fonctions natives de PHP n'est pas très cool. J'aimerai bien une façade pour masquer l'utilisation de ob_start() et ob_get_clean() au niveau de la vue