2016-12-07 7 views
0

にパラメータとしてオブジェクトを渡す:は小枝パス

<a href="{{ path('blog_post', { id: post.id }) }}"> 

は、例えば、完全なオブジェクトを渡すことが可能です投稿:Twigパス経由で投稿しますか?

ありがとうございました

+3

を、ので、私が見る唯一のオプションは、オブジェクトをシリアル化するために、それをコード化するbase64である:

ただ、このように、パラメータのオブジェクトの種類を指定します。悪いアイデア。このオブジェクトはURLの一部となり、キャッシュされ、ログに記録される可能性があります。 – dmnptr

+0

あなたのご意見ありがとうございます。 – appson

+0

私が追加すべきもう一つのことは - GETリクエストの場合、URLの長さは2,083文字に制限されています。オブジェクトのエンコード形式が長くなると、そのオブジェクトは切り捨てられるか、サーバーエラーになります。 – dmnptr

答えて

0

いいえ、私の意見では意味がありません。

urlでオブジェクトをどのように表現しますか? 'blog/post/{blog.id:1,blog.author:Foo,blog.title:bar}'?サーバーがページを表示してからリンクを生成するまでの間にオブジェクトが変化する場合

0

コントローラに数値idを渡して、そのオブジェクトインスタンスを取得することはかなり可能ですid。これは、URLパラメータとなります

/** 
* @Route("/blog/show/{blog_post}", name="blog-show") 
*/ 
public function showAction(BlogPost $blog_post) 
{ 
    if ($blog_post) { 
     var_dump($blog_post) 
    } 
}