我无法完全理解sfDoctrineRoute类是如何工作的
例如,我有以下路线:
Comment:
class: sfDoctrineRouteCollection
options:
prefix_path: :username/comment
module: comment
model: Comment
现在,在executeNew()
类的commentActions
方法中,此代码:
$this->getRoute()->getObject()
将返回我数据库中的第一个Comment对象。当然我可以手动创建一个new Comment()
对象,但是使用sfDoctrineRoute
类而不是sfRoute
有什么好处?
答案 0 :(得分:0)
在executeNew的情况下,使用学说路线几乎没有任何好处。
请考虑使用executeEdit方法(更新,删除和显示也相同)。
网址可能是:
/评论/ 5 /编辑
(或者在你的情况下,/ myusername / comment / 5 / edit)
$ this-> getRoute() - > getObject()将从数据库返回注释5 - 省去了加载它的麻烦(只有一行或两行代码,但仍然)。而且,一个简洁的功能,如果数据库中没有注释5,它会自动处理这个并导致404错误 - 所以你也不必担心。