【问题标题】:What's the difference between redirect and render in CakePHP?CakePHP 中的重定向和渲染有什么区别?
【发布时间】:2010-11-07 14:19:44
【问题描述】:

除了重定向和渲染之外,还有其他命令可以将控制器重定向到特定的视图页面吗?

我有重定向

$this->redirect('/forms/homepage/'.$userId);

但如果我给了

$this->render('/forms/homepage/'.$userId);

它不会被重定向到那个页面。

有什么问题吗?

【问题讨论】:

    标签: cakephp redirect


    【解决方案1】:

    对redirect() 的调用发出HTTP redirect。重定向后什么都没有发生,因为 CakePHP 只是停止了。您在重定向调用之后放置的任何内容都不会被执行。相反,浏览器只是向您要重定向到的 URL 发出一个新的 HTTP GET。

    对 render() 的调用只是加载一个视图。它需要一个视图的路径,而不是 URL。它不重定向。假设在您的情况下 $userID 是 '101'。对 render() 的调用将尝试加载以下文件:

    app/views/forms/homepage/101.ctp

    由于该文件不存在,所以什么都不会发生。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-16
      • 2016-01-13
      • 2013-03-25
      • 2019-11-12
      相关资源
      最近更新 更多