如何转发我不知道名称的 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
因此,默认值下没有列出任何类。