J'utilise Perl avec Dancer
et Template::Toolkit
.
J'essaie de créer une routine générique à laquelle seront transmis un modèle et les paramètres HTTP GET / POST.
Je dois trouver un moyen d'obtenir une liste des variables dans le modèle afin de pouvoir les récupérer à partir des paramètres ou de renvoyer une erreur s'il en manque une ou plusieurs.
Je peux faire une route de regex moche, mais j'espérais un meilleur moyen / plus propre.
Tous les modèles sont XML / SOAP avec quelques variables ici et là.
Des idées?
Réponses:
8 pour la réponse № 1Si vous activez le TRACE_VARS
option sur le contexte du modèle, alors vous pouvez utiliser le variables
méthode pour obtenir un hachage de toutes les valeurs accédées.
Ce code montre un bref exemple
use strict;
use warnings;
use Template::Context;
use Data::Dump;
my $template = "[% person.name %] <[% person.email %]>";
my $context = Template::Context->new(TRACE_VARS => 1);
my $compiled = $context->template($template) or die $context->error;
my $variables = $compiled->variables;
dd $variables;
sortie
{ person => { email => {}, name => {} } }