frameworks - 锂远期请求

标签 frameworks request forward lithium

Lithium 中的 Controller redirect() 方法执行实际的 HTTP 重定向。但是有没有一种方法可以简单地将请求转发到另一个 Controller /操作而不需要 HTTP 重定向?

例如,假设我想添加一个身份验证层,而不是将用户重定向到“/auth/login”页面,而是渲染登录布局和模板,而不是他们请求的页面的内容。然后,当他们提交表单并进行身份验证时,他们已经位于他们请求的页面上。 Zend 框架有类似的 _forward() 方法。

谢谢!

最佳答案

没有方法,主要是因为您可以用大约两行代码来完成:

<?php

    namespace my_app\controllers;

    use lithium\core\Libraries;

    class PostsController extends \lithium\action\Controller {

        public function index() {
            $forward = Libraries::instance("controllers", "Auth", [
                'request' => $this->request
            ]);
            return $forward($this->request, ['action' => 'login']);
        }
    }
?>

关于frameworks - 锂远期请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14464643/

相关文章:

javascript - UIkit 框架 (html/css/js) 视频 slider 创建

javascript - 请求 POST 修改对象?

java - 转发到 JSP 的 Servlet

parameters - 如何将具有相同键的多个参数提取到 JSF 托管 bean 中

javascript - 使用 JavaScript 将鼠标滚动事件转发到另一个 div

model - 为什么 model.forward(input) 和 model(input) 之间有不同的输出

java - 什么 Java GUI 框架适合第一个 GUI 项目?

ios - 颠簸框架的版本号

java - Java 桌面应用程序的应用程序框架?

javascript - 如何在 Node js 中突破 promise-then 链