51 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace App\Controller;
 | |
| 
 | |
| use App\View\RouteView;
 | |
| use Ardent\Undercurrent\Attribute\Route;
 | |
| use Ardent\Undercurrent\Http\GenericResponse;
 | |
| use Ardent\Undercurrent\Http\ResponseInterface;
 | |
| use Ardent\Undercurrent\Http\RouterConfig;
 | |
| use Ardent\Undercurrent\Http\StatusEnum;
 | |
| use Ardent\Undercurrent\View\BaseView;
 | |
| use Ardent\Undercurrent\View\ViewInterface;
 | |
| 
 | |
| class HelloWorldController
 | |
| {
 | |
|     #[Route('/')]
 | |
|     public function index(): ViewInterface
 | |
|     {
 | |
|         return new BaseView('/index');
 | |
|     }
 | |
| 
 | |
|     #[Route('/error')]
 | |
|     public function error(): ResponseInterface
 | |
|     {
 | |
|         return new GenericResponse('error', StatusEnum::NOT_FOUND);
 | |
|     }
 | |
| 
 | |
|     #[Route('/hello')]
 | |
|     public function hello(): ResponseInterface
 | |
|     {
 | |
|         return new GenericResponse('Hello World!');
 | |
|     }
 | |
| 
 | |
|     #[Route('/view/{name}')]
 | |
|     public function view(string $name): ViewInterface
 | |
|     {
 | |
|         return new BaseView('/home', ['name' => $name]);
 | |
|     }
 | |
| 
 | |
|     #[Route('/routes')]
 | |
|     public function routes(RouterConfig $config): ViewInterface
 | |
|     {
 | |
|         return new RouteView($config);
 | |
|     }
 | |
| 
 | |
|     #[Route('/world/{name}')]
 | |
|     public function world(string $name): ResponseInterface
 | |
|     {
 | |
|         return new GenericResponse("Hello $name!");
 | |
|     }
 | |
| } |