名前がわからない 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
したがって、デフォルトの下にリストされているクラスはありません。