Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to access a different controller from inside a controller Symfony2

Tags:

php

symfony

I need to access a method from a different controller inside another controller. How can I do it? Can I use this->get method?

Can I include the controller inside my current controller and make a object of it and access the method via the object? Is it "ok" to do it this way?

I want to call the form method --- newAction of the other controller.

like image 773
chirag7jain Avatar asked Apr 05 '13 06:04

chirag7jain


1 Answers

If you don't want to define the class as a service, as it doesn't feel as a good practice to me and @Qoop quoted Fabien saying the same, you can use forwarding:

http://symfony.com/doc/current/controller/forwarding.html

public function indexAction($name) {     $response = $this->forward('AcmeHelloBundle:Hello:fancy', array(         'name'  => $name,         'color' => 'green',     ));      // ... further modify the response or return it directly      return $response; } 

If you need to embed the output of an internal controller-action in a template, the documentation for Symfony also has something for that.

like image 56
SimonSimCity Avatar answered Sep 19 '22 19:09

SimonSimCity