我正在创建一个Symfony项目,该项目输出JSON以供iPhone App使用。
我设置了路线:
notification_json:
url: /notifications.json
param: { module: notification, action: index, sf_format: json }
目前列出所有通知(我的某个型号)。
我想要做的是添加一些参数,就像Twitter API有'since_id' - 所以如果请求了/notifications.json?since_id=3,那么只有ID大于3的通知才会所示。
我看不到我在动作逻辑上挣扎,但这种事情的路由让我有点挠头!
非常感谢任何帮助。
答案 0 :(得分:6)
如果在:myparam
中定义路径时未指定任何命名参数(例如routing.yml
),则在生成路径时添加的任何参数都将作为普通GET变量附加。例如:
notification_json:
url: /notifications.json
param: { module: notification, action: index, sf_format: json }
用于:
<?php echo url_for("@notification_json?since_id=3"); ?>
会给你:
/notifications.json?since_id=3
如果您在路线中添加了命名参数,那么这些参数将被正常替换,并且如上所示在末尾标记任何其他参数,例如:
notification_json_test:
url: /:param1/notifications.json
param: { module: notification, action: index, sf_format: json }
用于:
<?php echo url_for("@notification_json?param1=foo&since_id=3"); ?>
会给你:
/foo/notifications.json?since_id=3