You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.5 KiB
57 lines
1.5 KiB
<?php |
|
|
|
namespace Acme\DemoBundle\Controller; |
|
|
|
use Symfony\Bundle\FrameworkBundle\Controller\Controller; |
|
use Symfony\Component\HttpFoundation\RedirectResponse; |
|
use Acme\DemoBundle\Form\ContactType; |
|
|
|
// these import the "@Route" and "@Template" annotations |
|
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; |
|
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template; |
|
|
|
class DemoController extends Controller |
|
{ |
|
/** |
|
* @Route("/", name="_demo") |
|
* @Template() |
|
*/ |
|
public function indexAction() |
|
{ |
|
return array(); |
|
} |
|
|
|
/** |
|
* @Route("/hello/{name}", name="_demo_hello") |
|
* @Template() |
|
*/ |
|
public function helloAction($name) |
|
{ |
|
return array('name' => $name); |
|
} |
|
|
|
/** |
|
* @Route("/contact", name="_demo_contact") |
|
* @Template() |
|
*/ |
|
public function contactAction() |
|
{ |
|
$form = $this->get('form.factory')->create(new ContactType()); |
|
|
|
$request = $this->get('request'); |
|
if ('POST' == $request->getMethod()) { |
|
$form->bindRequest($request); |
|
if ($form->isValid()) { |
|
$mailer = $this->get('mailer'); |
|
// .. setup a message and send it |
|
// http://symfony.com/doc/current/cookbook/email.html |
|
|
|
$this->get('session')->setFlash('notice', 'Message sent!'); |
|
|
|
return new RedirectResponse($this->generateUrl('_demo')); |
|
} |
|
} |
|
|
|
return array('form' => $form->createView()); |
|
} |
|
}
|
|
|