From 64698c34b3a358da908e2df29a6c32638d059e23 Mon Sep 17 00:00:00 2001 From: Manuel Raynaud Date: Mon, 18 Feb 2013 19:12:30 +0100 Subject: [PATCH] initialize step of parser start to implement initialize method of Parser component --- core/lib/Thelia/Core/Template/Dumper.php | 36 +++++++++++++++++++ core/lib/Thelia/Core/Template/Parser.php | 24 +++++++++++++ .../Thelia/Core/Template/skeleton/Tpex.php | 36 +++++++++++++++++++ 3 files changed, 96 insertions(+) create mode 100644 core/lib/Thelia/Core/Template/Dumper.php create mode 100644 core/lib/Thelia/Core/Template/skeleton/Tpex.php diff --git a/core/lib/Thelia/Core/Template/Dumper.php b/core/lib/Thelia/Core/Template/Dumper.php new file mode 100644 index 000000000..10a054ff6 --- /dev/null +++ b/core/lib/Thelia/Core/Template/Dumper.php @@ -0,0 +1,36 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Core\Template; + +class Dumper{ + + public function __construct() { + + } + + public function dump() + { + + } +} diff --git a/core/lib/Thelia/Core/Template/Parser.php b/core/lib/Thelia/Core/Template/Parser.php index 783a51fdf..5469c68ac 100644 --- a/core/lib/Thelia/Core/Template/Parser.php +++ b/core/lib/Thelia/Core/Template/Parser.php @@ -27,6 +27,7 @@ use Thelia\Core\Template\ParserInterface; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Routing\Exception\ResourceNotFoundException; +use Symfony\Component\Config\ConfigCache; /** * @@ -58,6 +59,8 @@ class Parser implements ParserInterface protected $status = 200; protected $template = "default"; + + protected $init = false; /** * @@ -70,6 +73,27 @@ class Parser implements ParserInterface $this->container = $container; } + protected function initialize() + { + if ($this->init === true) { + return; + } + + /** /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ + * @TODO + * + * Avant le lancement du parser, enregistrer les boucles, filtres. + * Pour ne pas le faire à chaque lancement, on va créer une class qui contient toutes les classes nécessaires + * + * Créer : + * un dumper + * une méthode qui récupère les différents éléments : boucles, filtres, substitutions, etc + * + * + * /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ + */ + } + /** * * @return Symfony\Component\HttpFoundation\Request diff --git a/core/lib/Thelia/Core/Template/skeleton/Tpex.php b/core/lib/Thelia/Core/Template/skeleton/Tpex.php new file mode 100644 index 000000000..599db065c --- /dev/null +++ b/core/lib/Thelia/Core/Template/skeleton/Tpex.php @@ -0,0 +1,36 @@ + "##VALUE_LOOP##" + ); + + protected $filter = array( + "##KEY_FILTER##" => "##VALUE_FILTER##" + ); + + + public function getLoop($name) + { + if (isset($this->loop[$name])) { + return $this->loop[$name]; + } + + throw new ResourceNotFound(sprintf("%s loop does not exists", $name)); + } + + public function getFilter($name) + { + if (isset($this->filter[$name])) { + return $this->filter[$name]; + } + + throw new ResourceNotFound(sprintf("%s loop does not exists", $name)); + } + + + +}