Я пытаюсь отправить электронное письмо от SwiftMailer в Symfony 3. Я прохожу через этот учебник: http://tutorial.symblog.co.uk/docs/validators-and-forms.html#sending-the- электронной почты, и у меня возникла проблема в «Создание формы в контроллере»: «Попытка вызвать неопределенный метод с именем« getRequest »класса« AppBundle \ Controller \ DefaultController ».»
Это мой contactAction () в src / AppBundle / DeffaultController:
/** * @Route("/contact"), name="cont") */ public function contactAction() { $enquiry = new Enquiry(); $form = $this->createForm(EnquiryType::class, $enquiry); $request = $this->getRequest(); if ($request->getMethod() == 'POST') { $form->bindRequest($request); if ($form->isValid()) { // Perform some action, such as sending an email // Redirect - This is important to prevent users re-posting // the form if they refresh the page return $this->redirect($this->generateUrl('app_default_contact')); } } return $this->render(':default:contact.html.twig', array( 'form' => $form->createView() )); }
Помоги пожалуйста!
getRequest
был методом базового класса Symfony\Bundle\FrameworkBundle\Controller\Controller
. Он был устаревшим с версии 2.4, и он был удален в версии 3.0.
Чтобы получить его в своем контроллере, просто добавьте его в качестве аргумента и введите тип-подсказку с классом Request:
use Symfony\Component\HttpFoundation\Request; public function contactAction(Request $request) { // ...
Документация здесь .