/ Published in: PHP
Expand |
Embed | Plain Text
//default controler template namespace Acme\HelloBundle\Controller; use Symfony\Component\HttpFoundation\Response; class HelloController { public function indexAction($name) { return new Response('<html><body>Hello '.$name.'!</body></html>'); } } //Param for route //app/config/routing.yml /* hello: pattern: /hello/{first_name}/{last_name} defaults: { _controller: AcmeHelloBundle:Hello:index, color: green }*/ // in the controler public function indexAction($first_name, $last_name, $color) { // ... } //The request use Symfony\Component\HttpFoundation\Request; public function updateAction(Request $request) { $form = $this->createForm(...); $form->bindRequest($request); // ... } //Controler inheritance namespace Acme\HelloBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\HttpFoundation\Response; class HelloController extends Controller { public function indexAction($name) { return new Response('<html><body>Hello '.$name.'!</body></html>'); } } //Some courrent action public function indexAction() { //default sttus code, 302 (temp redirect) return $this->redirect($this->generateUrl('homepage')); return $this->redirect($this->generateUrl('homepage'), 301); //forward 'name' => $name, 'color' => 'green' )); //same as $httpKernel = $this->container->get('http_kernel'); 'name' => $name, 'color' => 'green', )); //template return new Response($content); //same as //same as $templating = $this->get('templating'); //important service $request = $this->getRequest(); $templating = $this->get('templating'); $router = $this->get('router'); $mailer = $this->get('mailer'); //throw exception $product = // retrieve the object from database if (!$product) { throw $this->createNotFoundException('The product does not exist'); } return $this->render(...); //session $session = $this->getRequest()->getSession(); $session->set('foo', 'bar'); $foo = $session->get('foo'); $session->setLocale('fr'); //session, flash message $this->get('session')->setFlash('notice', 'Your changes were saved!'); /* In the template {% if app.session.hasFlash('notice') %} <div class="flash-notice"> {{ app.session.flash('notice') }} </div> {% endif %} */ //the response $response = new Response('Hello '.$name, 200); $response->headers->set('Content-Type', 'application/json'); //the request $request = $this->getRequest(); $request->isXmlHttpRequest(); $request->query->get('page'); // get a $_GET parameter $request->request->get('page'); // get a $_POST parameter //routing //relative url //absolute //query string // /blog/2?category=Symfony }
You need to login to post a comment.
