はい、このコードは機能します。最初に確認することは、小枝のコードが正しいページにあることです(TestBundle::search.html.twig
)。これはばかげているように聞こえるかもしれませんが、それは時々起こります...
これで問題がなければ、テンプレート内でデバッグすることをお勧めします。デバッグは最も重要なことです。プログラミング中、特に何か新しいことを試みるときは、常にこの種の問題が発生します。コードのデバッグが上手になればなるほど、最初からすべてを正しく行う方法がないため、プログラマーとして上手になります。
では、どのようにデバッグできますか?
twigテンプレート内でデバッグするには、twigのdebug拡張機能を使用できます。デバッグオプションをアクティブにするには、構成ファイルをすばやく変更する必要があります。紛失した場合は、このスレッドを読むこともできます。
テンプレート内の任意の変数を次のようにデバッグできます。
<pre>
{% debug searchTerms %}
</pre>
このようにして、変数を簡単にデバッグし、問題が何であるかをテストできます。
{% debug searchTerms['color'] %}
物事をすばやくデバッグしたい場合は、LadyBugBundleを使用することを強くお勧めします。それはあなたがそのようなことをすることを可能にする素晴らしいツールです:
コントローラ内:
ladybug_dump($searchTerms);
TWIGテンプレートの場合:
{{ searchTerms|ladybug_dump }}
従来のオプションとそれほど違いはありませんが、var_dump
長い配列やオブジェクトがある場合は、ladybug
印象に残ります。さらに重要なことに、コントローラーでは、デバッグステートメントの後にページが読み込まれないようにするために、特定の時点でコードを停止する必要があることがよくあります。これは、てんとう虫ではかなり簡単です。
ladybug_dump_die($searchTerms);
この簡単なステートメントを使用して、「デバッグ済み」変数をSymfonyプロファイラーにロードするようにてんとう虫に依頼することもできます。
$this->get('ladybug')->log($searchTerms);
これで、Symfony2プロファイラーのタブから変数に直接アクセスできるようになりました。
てんとう虫はもっとたくさんのことができますが、このために、ドキュメントは本当に良いです。