initialize step of parser

start to implement initialize method of Parser component
This commit is contained in:
Manuel Raynaud
2013-02-18 19:12:30 +01:00
parent 320047838d
commit 64698c34b3
3 changed files with 96 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
<?php
/*************************************************************************************/
/* */
/* Thelia */
/* */
/* Copyright (c) OpenStudio */
/* email : info@thelia.net */
/* web : http://www.thelia.net */
/* */
/* This program is free software; you can redistribute it and/or modify */
/* it under the terms of the GNU General Public License as published by */
/* the Free Software Foundation; either version 3 of the License */
/* */
/* This program is distributed in the hope that it will be useful, */
/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
/* GNU General Public License for more details. */
/* */
/* You should have received a copy of the GNU General Public License */
/* along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* */
/*************************************************************************************/
namespace Thelia\Core\Template;
class Dumper{
public function __construct() {
}
public function dump()
{
}
}

View File

@@ -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

View File

@@ -0,0 +1,36 @@
<?php
class ##CLASS_NAME##
{
protected $loop = array(
"##KEY_LOOP##" => "##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));
}
}