component: templating - simple quote non gérer

6 views
Skip to first unread message

Nicolas Longuet

unread,
Dec 23, 2010, 12:20:20 PM12/23/10
to Symfony Components
j'utilise une extension de class de sfTemplateRenderer :

----------------------------
[...]
public function getLoaderWidgetPhpFtp($widget_class, $parameters =
array()) {
$loader = new sfTemplateLoaderFilesystem(array(
$this->dir_theme_widgets . '/widget_' .
$widget_class . '/%name%',
));

return new sfTemplateEngine(
$loader,
array(
'tpl' => new ProjectTemplateRenderer(),
//'php' => new sfTemplateRendererPhp(),
)
);
}
[...]



class ProjectTemplateRenderer extends sfTemplateRenderer {
if ($template instanceof sfTemplateStorageFile) {
$template = file_get_contents($template);
}


[...]

extract($parameters['parameters']);

eval('; ?>'.$template.'<?php ;');


return ob_get_clean();

}
---------------------

Dans le class ProjectTemplateRenderer, la variable $template contient
tout mon code provenant d'un fichier.

Le problème vient de l'utilisation du simple quote dans le fichier,
dès l'instant où je l'utilise dans une phrase (ex: ...
l'utilisateur... ), la class me retourne une page blanche.

Le problème est résolu lorsque j'enlève tous les simple quote.

Que puis-je faire pour résoudre le problème ?

OZ

unread,
Dec 23, 2010, 12:28:53 PM12/23/10
to Symfony Components
eval it's shame of Symfony.
Reply all
Reply to author
Forward
0 new messages