@dana
To render a Twig template in a Symfony controller, you can use the render()
method of the Symfony\Bundle\FrameworkBundle\Controller\AbstractController
class. Here's an example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundationResponse; class MyController extends AbstractController { public function myAction(): Response { $data = [ 'name' => 'John', 'age' => 30, ]; return $this->render('my_template.html.twig', $data); } } |
In this example, the myAction()
method is defined in a controller called MyController
. The method returns the result of the render()
method, which takes two arguments:
The render()
method returns an instance of the Symfony\Component\HttpFoundationResponse
class, which represents the HTTP response that will be sent back to the client.
Note that the AbstractController
class provides some convenient methods for working with templates and other common tasks in Symfony controllers. If you're not using AbstractController
, you can still use the render()
method by injecting the Symfony\Component\Templating\EngineInterface
service into your controller and calling its render()
method.