Jea*_*erc 5 php url restful-url symfony http-delete
我想弄清楚设计我的网址的最佳方式是什么.所以这就是我到目前为止所做的:
account_index:
pattern: /Accounts/
defaults: { _controller: "CoreBundle:Account:index" }
requirements: { _method: get }
account_create:
pattern: /Accounts/
defaults: { _controller: "CoreBundle:Account:create" }
requirements: { _method: post }
account_read:
pattern: /Accounts/{id}
defaults: { _controller: "CoreBundle:Account:show" }
requirements: { _method: get }
account_update:
pattern: /Accounts/{id}
defaults: { _controller: "CoreBundle:Account:update" }
requirements: { _method: put }
account_delete:
pattern: /Accounts/{id}
defaults: { _controller: "CoreBundle:Account:delete" }
requirements: { _method: delete }
Run Code Online (Sandbox Code Playgroud)
在测试了我所做的之后,我意识到更新和删除不起作用(总是调用account_read)...在谷歌搜索我的问题后,我发现所有浏览器都不支持PUT和DELETE方法......可能会在将来放弃.
然后我读到Ruby on rails通过做一些魔术在所有浏览器上支持这两种方法.
所以我想知道,Symfony2可以像ruby一样处理PUT和DELETE吗?我应该使用restful url吗?
Flo*_*ian 12
是的,symfony2最终符合RESTful标准.
我不知道rails,但Symfony2使用不同的方式处理HTTP方法检测:
X-HTTP-METHOD-OVERRIDE头部获取方法(回退到_method请求参数)为什么这样做POST是因为除了GET或POST请求之外,浏览器不能发送任何其他内容.
与rails和/或symfony1的不同之处在于没有帮助器可以使用相应的方法生成链接或表单.由您来为您的应用程序生成有效请求.
PS:关于你的路由,你应该在大写的_method上写下你的要求.
| 归档时间: |
|
| 查看次数: |
2264 次 |
| 最近记录: |