速い順に、
- url_for('ルート名', パラメータの連想配列)
例: url_for('article_by_id', array('id' => $article->getId())) - url_for('@ルート名+パラメータのクエリ文字列')
例: url_for('@article_by_id?id='.$article->getId()) - url_for('モジュール/アクション+パラメータのクエリ文字列')
例: url_for('article/read?id='.$article->getId())
まず、モジュール/アクションの形式よりもルート名指定のほうが速いのは、リンクにマッチするルーティングルールを見つけるためにすべてのルールを探す必要がないという理由です。
さらに、パラメータをクエリ文字列ではなく連想配列で指定すれば、余分なパースが不要となり高速化できます。
参考
http://www.symfony-project.org/gentle-introduction/1_4/ja/09-Links-and-the-Routing-System#chapter_09_sub_9c0012b84a321294dad618cb44debc4004bf29c0
0 件のコメント:
コメントを投稿