Al crear una nueva página utilizando «php bin/console make:controller –no-template» se realiza una serie de pasos:
- Crea un controlador: una clase llama SaludoController
- Crea una ruta : en nuestro caso /saludo la cual a sido generada a través de anotaciones en el controlador.
# ruta /src/Controller/SaludoController.php
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;
class SaludoController extends AbstractController
{
/**
* @Route("/saludo", name="saludo")
*/
public function index()
{
return $this->json([
'message' => 'Welcome to your new controller!',
'path' => 'src/Controller/SaludoController.php',
]);
}
}
Como se conforma del controlador:
- Linea 5: la palabra clave use importa la clase llamada AbstractController la cual proporciona métodos de ayuda que describiremos mas adelante.
- Linea 6: la use palabra clave use importa la clase Route, la cual nos permite definir rutas o URL amigables a través de anotaciones.
- Linea 8: la clase SaludoController hereda los métodos de la clase AbstractController.
- Linea 10 a 12: define una ruta /saludo y un nombre que identifica o describe la ruta dentro de symfony, debe importar la clase Route.
- Linea 13: método controlador index
- Linea 15: método de la clase AbstracController que retorna una respuesta en formato JSON.
Intenta modificar la ruta y accede a través del navegador Ejemplo:
http://localhost:8000/minuevaruta