Il est dit ici: Le contrôleur doit retourner une réponse (null donné). Avez-vous oublié d'ajouter une instruction de retour quelque part dans votre contrôleur?
<?php
namespace Acme\TaskBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Acme\TaskBundle\Entity\Task;
use Symfony\Component\HttpFoundation\Request;
class DefaultController extends Controller
{
public function indexAction($name)
{
return $this->render('AcmeTaskBundle:Default:index.html.twig', array('name' => $name));
}
public function newAction(Request $request)
{
//just setup a fresh $task object (remove the dummy data)
$task = new Task();
$task->setTask('Write a blog post');
$task->setDueDate(new \DateTime('tomorrow'));
$form = $this->createFormBuilder($task)
->add('task', 'text')
->add('dueDate', 'date')
->getForm();
if ($request->isMethod('POST'))
{
$form->bind($request);
if ($form->isValid())
{
//perform some action, such as saving the task to the database
return $this->redirect($this->generateUrl('task_success'));
}
}
}
}
Il est dit ici: Le contrôleur doit retourner une réponse (null donné). Avez-vous oublié d'ajouter une instruction de retour quelque part dans votre contrôleur?
Quelqu'un peut-il m'aider sur ce
- double possible de erreur pas de réponse symfony2
- if ($request->isMethod('POST')) { $form->bind($request); if ($form->isValid()) { // exécution de certaines actions, telles que l'enregistrement de la tâche à la base de données return $this->redirect($this->generateUrl('task_success')); } } } return $this->render('AcmeTaskBundle:valeur par Défaut:la nouvelle.html.twig', array( 'form' => $form->createView(), )); }
Vous devez vous connecter pour publier un commentaire.
si
if($request->isMethod('POST'))
retournefalse
vous ne faites rien. Ainsi, lorsque vous créez pour la première fois votre formulaire (et vous n'êtes pas enPOST
cas), vous vous retrouvez dans cette situation et que vous devez retourner quelque chose à votre contrôleur de l'action de l'appelant.