1
我試圖從一個源控制器加載一些方法(它爲我創建一個登錄表單)到另一個源控制器。Symfony登錄表單 - 致命錯誤:調用成員函數get()null
這裏是我的源SecurityController:
namespace ImmoBundle\Controller\Security;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use ImmoBundle\Entity\User;
use ImmoBundle\Form\Type\LoginType;
class SecurityController extends Controller
{
/**
* @Route("/login", name="login")
*/
public function loginAction(Request $request)
{
$parametersArray = $this->loadForm($request);
return $this->render(
'ImmoBundle::Security/login.html.twig',
array(
'login_form' => $parametersArray['form']->createView(),
'error' => $parametersArray['error'],
'last_email' => $parametersArray['lastEmail'],
)
);
}
public function loadForm($request)
{
$user = new User();
$form = $this->createForm(LoginType::class, $user);
$form->handleRequest($request);
$authenticationUtils = $this->get('security.authentication_utils');
$error = $authenticationUtils->getLastAuthenticationError();
$lastEmail = $authenticationUtils->getLastUsername();
$parametersArray['form'] = $form;
$parametersArray['error'] = $error;
$parametersArray['lastEmail'] = $lastEmail;
return $parametersArray;
}
}
然後我定義我的源控制器作爲services.yml服務:
login_form_service:
class: ImmoBundle\Controller\Security\SecurityController
我的目標控制器看起來是這樣的:
namespace ImmoBundle\Controller\Pages;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
class ListingPageController extends Controller
{
/**
* @Route("/id/{listingId}", name="idPage", requirements={
* "listingId": "\d+"
* })
*/
public function loadIdAction($listingId, Request $request)
{
$yourController = $this->get('login_form_service');
print_r($yourController->loadForm($request));
return $this->render(
'ImmoBundle::page.html.twig',
array()
);
}
}
但不是排隊中的對象
print_r($yourController->loadForm($request))
我得到這個錯誤:Fatal error: Call to a member function get() on null
我在做什麼錯?
謝謝你,它的工作原理! – rvaliev