如何转发到指定路线?

时间:2013-08-08 01:31:43

标签: symfony

如何转发我不知道名字的Symfony2(2.2)类?

请注意,我不想重定向,因为我必须POST,我更希望不通过浏览器发送POST参数。

路径的类并不明显,因为它是内部的'login_check'。

\\routing.yml
login: 
    pattern: /login
    defaults: { _controller : MyAppBundle:Security:login }

login_check:
    pattern: /login_check

logout:
    pattern: /logout

如果可以从其他地方获得凭据,我只想按如下方式返回响应:

// SecurityController.php
... 
class SecurityController extends Controller{

    public function loginAction(){
       if($test_if_credentials_present){ 
           $response = $this->forward('login_check', 
              array('_username' => $username, '_password' => $password);
           return $response;
       }
    }
}

这失败,因为login_check是一个路由,而不是一个类。

有没有办法使用路由器查找login_check对应的类?

我也可以通过知道来自路由器的类名来对其进行硬编码:debug

php app/console router:debug login_check

输出:

[router] Route "login_check"
Name         login_check
Path         /login_check
Host         ANY
Scheme       ANY
Method       ANY
Class        Symfony\Component\Routing\Route
Defaults
Requirements NO CUSTOM
Options      compiler_class: Symfony\Component\Routing\RouteCompiler
Path-Regex   #^/login_check$#s

因此,默认情况下没有列出类别。

0 个答案:

没有答案