dou4624 2017-05-01 21:10
浏览 178
已采纳

Twig:添加json_decode作为过滤器

I'm trying to decode a JSON string in my twig file. Of course I've done some research and I've found this earlier question on StackOverflow: here. They give a method to decode JSON in twig, but I don't really understand the way I should do it.

They say something about creating files etc. but I don't understand where they should be created. So I'm trying to find another way.

I've come up with this page. When we take a look at 'filters', these lines come up:

$filter = new Twig_Filter('rot13', function ($string) {
    return str_rot13($string);
});

So I thought I could use them like this:

$filter = new Twig_Filter('json_decode', function ($string) {
    return json_decode($string);
});

Now, I'd like to know whether this way should work. Also, where I'd have to put these lines of code. And finally, would I have to use the filter like this:

{{ data.params|json_decode }}

When I'm wrong, please give me the points that I mis, or, give me an easy solution that should do the job for me.

Edit I'm using twig in the Silex framework!

  • 写回答

1条回答 默认 最新

  • duandao6414 2017-05-02 05:56
    关注
    <?php
        $app = new \Silex\Application();
        $app->register(new \Silex\Provider\TwigServiceProvider(), []);  
        $app['twig']->addFilter(new Twig_SimpleFilter('json_decode', function ($string) {
            return json_decode($string);
        }));
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?