2012-01-23 51 views
0

我在这里有一个简单的问题。让控制器动作返回一些东西(使用return $ something;)真的是个不错的主意。这是好的还是坏的MVC练习?返回内部控制器操作MVC cakePHP

我知道好的MVC实践需要控制器将数据传递给视图,但是如果我只有一个独立的函数不会使用任何视图?我可以不只是返回该函数的值?

在此先感谢专家

+0

如果您没有使用'查看',您如何获取数据返回给用户? – cspray

+0

这只是一个独立的函数,它执行一个不需要任何视图的特定任务(例如像删除函数)。删除控制器操作没有任何视图。 – user765368

+0

如果它不需要视图,为什么你会返回任何东西?如果它是一个删除功能,您可以设置一个flash消息,然后在动作结束时重定向 - 这不需要视图。 – jmking

回答

2

好吧,这与其说是一个“坏主意”,从一个控制器动作返回值,因为它是“这是CakePHP的不是如何工作的。”如果您想要发送给用户的回复,则需要将其发送给“查看”。在你的例子中,你有一个删除操作,不需要将视图发回给用户。我会证明它确实需要发送一个视图。也许你发回的'视图'只需要一个JSON响应,说明删除是否成功,而不是整个HTML文档。

'查看'是将数据发送给用户的。让'视图'负责这些责任,并且不要让控制器开始做太多。