1

如何转发我不知道名称的 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 对应的类?

我也可以通过知道来自 router: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

因此,默认值下没有列出任何类。

4

0 回答 0