example_controller extends controller
Demo controller showcasing multiple route styles and return types.
Table of Contents
Methods
- api_echo() : JsonResponse
- Accept POST data.
- api_info() : JsonResponse
- JSON API style.
- article() : Response
- Slug alfanumérico e hífens (ex: /article/my-first-post).
- course() : Response
- ID numérico obrigatório (ex: /course/42).
- greet() : Response
- Dynamic parameter.
- hello() : Response
- Simple text/HTML output.
- home() : Response
- Home page.
- not_found() : Response
- Fallback “not found” page.
- report() : Response
- Data no formato YYYY-MM-DD (ex: /report/2025-12-31).
- search() : Response
- Parâmetro opcional com regex e valor padrão.
- userOrder() : Response
- Dois parâmetros com restrições (ex: /user/15/order/2023-09-10).
- widget() : Response
- Example rendering a custom widget.
Methods
api_echo()
Accept POST data.
public
api_echo(Request $request) : JsonResponse
Parameters
- $request : Request
Attributes
- #[Route]
- $path: '/api/echo'
- $name: 'example_api_echo'
- $methods: ['POST']
Return values
JsonResponseapi_info()
JSON API style.
public
api_info() : JsonResponse
Attributes
- #[Route]
- $path: '/api/info'
- $name: 'example_api_info'
- $methods: ['GET']
Return values
JsonResponsearticle()
Slug alfanumérico e hífens (ex: /article/my-first-post).
public
article(string $slug) : Response
Parameters
- $slug : string
Attributes
- #[Route]
- $path: '/article/{slug}'
- $name: 'example_article'
- $requirements: ['slug' => '[a-z0-9-]+']
- $methods: ['GET']
Return values
Responsecourse()
ID numérico obrigatório (ex: /course/42).
public
course(int $id) : Response
Parameters
- $id : int
Attributes
- #[Route]
- $path: '/course/{id}'
- $name: 'example_course'
- $requirements: ['id' => '\d+']
- $methods: ['GET']
Return values
Responsegreet()
Dynamic parameter.
public
greet(string $name) : Response
Parameters
- $name : string
Attributes
- #[Route]
- $path: '/greet/{name}'
- $name: 'example_greet'
- $requirements: ['name' => '[A-Za-z]+']
- $methods: ['GET']
Return values
Responsehello()
Simple text/HTML output.
public
hello() : Response
Attributes
- #[Route]
- $path: '/hello'
- $name: 'example_hello'
- $methods: ['GET']
Return values
Responsehome()
Home page.
public
home() : Response
Attributes
- #[Route]
- $path: '/'
- $name: 'example_home'
- $methods: ['GET']
Return values
Responsenot_found()
Fallback “not found” page.
public
not_found() : Response
Attributes
- #[Route]
- $path: '/not_found'
- $name: 'example_not_found'
- $methods: ['GET']
Return values
Responsereport()
Data no formato YYYY-MM-DD (ex: /report/2025-12-31).
public
report(string $date) : Response
Parameters
- $date : string
Attributes
- #[Route]
- $path: '/report/{date}'
- $name: 'example_report'
- $requirements: ['date' => '\d{4}-\d{2}-\d{2}']
- $methods: ['GET']
Return values
Responsesearch()
Parâmetro opcional com regex e valor padrão.
public
search([string $term = '' ]) : Response
Exemplo: /search ou /search/symfony.
Parameters
- $term : string = ''
Attributes
- #[Route]
- $path: '/search/{term}'
- $name: 'example_search'
- $requirements: ['term' => '[A-Za-z0-9]*']
- $methods: ['GET']
Return values
ResponseuserOrder()
Dois parâmetros com restrições (ex: /user/15/order/2023-09-10).
public
userOrder(int $uid, string $orderDate) : Response
Parameters
- $uid : int
- $orderDate : string
Attributes
- #[Route]
- $path: '/user/{uid}/order/{orderDate}'
- $name: 'example_user_order'
- $requirements: [ 'uid' => '\d+', // apenas números 'orderDate' => '\d{4}-\d{2}-\d{2}', ]
- $methods: ['GET']
Return values
Responsewidget()
Example rendering a custom widget.
public
widget() : Response
Attributes
- #[Route]
- $path: '/widget'
- $name: 'example_widget'
- $methods: ['GET']