1

私はこのような配列を持っています:

$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));

そして私はそれを次のように読みやすい方法で印刷したいと思います:

Array
(
    [a] => apple
    [b] => banana
    [c] => Array
        (
            [0] => x
            [1] => y
            [2] => z
        )
)

配列をTwigテンプレートに渡す必要があります。これを試しましたが、希望する結果が得られません。何が変わるのか教えていただけますか?

コントローラー内:

$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
$b = json_encode($a);
$c = json_decode($b, true);

return $this->render('AcmeTestBundle:Home:data.html.twig', array('data' => $c));

テンプレートの場合:

{% extends '::base.html.twig' %}

{% block stylesheets %}

    <link href="{{ asset('bundles/acmetest/css/test.css') }}" type="text/css" rel="stylesheet" /> 

{% endblock %}

{% block body %}

    {{ data }}

{% endblock %}

(これはbase.html.twigです:)

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>{% block title %}Welcome!{% endblock %}</title>
        {% block stylesheets %}{% endblock %}
        <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />
    </head>
    <body>
        {% block body %}{% endblock %}
        {% block javascripts %}{% endblock %}
    </body>
</html>
4

3 に答える 3

5

小枝テンプレート内でダンプ機能を使用できます。

これを試して:

<pre>{{ dump(data) }}</pre>

拡張機能を追加したり、コントローラーを介して印刷したりすることなく、これでうまくいくはずです。

于 2013-08-20T16:09:30.900 に答える
4

TwigDebugExtensionsを試してみてください。

Twig 1.x

<pre>{% debug data %}</pre>

Twig 2.x

{{ dump(user, categories) }}

debug / dumpタグは、debug環境オプションがに設定されている場合にのみ機能しますtrue

https://twig.symfony.com/doc/2.x/functions/dump.html

また、デバッグ拡張機能なしでこれを試すことができます。

$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));

return $this->render('AcmeTestBundle:Home:data.html.twig', array('data' => var_export($a, true)));

テンプレート内:

<pre>{{ data }}</pre>
于 2012-09-25T09:42:56.313 に答える
4

LadybugBundleを使用します。

主な機能:

- 配列、オブジェクト、GD イメージのダンプ

-任意のコントローラーで使用できる 5 つのヘルパー

-Symfony コマンド

-Symfony プロファイラーの統合

-小枝フィルター

助けてほしい。

于 2012-09-25T13:27:14.467 に答える