PHP code example of hajjvero / you-route

1. Go to this page and download the library: Download hajjvero/you-route library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

hajjvero / you-route example snippets




use YouRoute\Attribute\Route;
use YouRoute\Http\Response;

class HomeController
{
    #[Route(path: '/', name: 'home')]
    public function index(): Response
    {
        return new Response('<h1>Bienvenue sur la page d\'accueil</h1>');
    }
    
    #[Route(path: '/user/{id}', name: 'user_show', methods: ['GET'])]
    public function show(int $id): Response
    {
        return new Response("<h1>Profil utilisateur #$id</h1>");
    }
}



ouRoute\YouRouteKernel;
use YouRoute\Http\Request;

// Initialiser le kernel
$kernel = new YouRouteKernel();

// Résoudre la requête
$request = new Request();
$kernel->run(__DIR__ . '/src/Controller', $request);

#[Route(path: '/api/users', methods: 'POST')] // Une seule méthode
#[Route(path: '/api/users/{id}', methods: ['PUT', 'DELETE'])] // Plusieurs méthodes

#[Route(path: '/article/{id}/{slug}', name: 'article_show')]
public function show(int $id, string $slug): Response
{
    // $id et $slug sont automatiquement extraits de l'URL
}



use YouRoute\Attribute\Route;
use YouRoute\Http\Response;

#[Route(path: '/api')]
class ApiController
{
    #[Route(path: '/users', methods: 'GET')]
    public function getUsers(): Response
    {
        return new Response('<h1>Liste des utilisateurs</h1>');
    }
    
    #[Route(path: '/users/{id}', methods: 'GET')]
    public function getUser(int $id): Response
    {
        return new Response("<h1>Détails de l'utilisateur #$id</h1>");
    }
}

your-project/
├── src/
│   ├── Attribute/
│   │   └── Route.php
│   ├── Http/
│   │   ├── Abstract/
│   │   │   ├── AbstractRequest.php
│   │   │   └── AbstractResponse.php
│   │   ├── Request.php
│   │   └── Response.php
│   ├── Router/
│   │   ├── Abstract/
│   │   │   └── AbstractRouteResolver.php
│   │   ├── RouteCollection.php
│   │   ├── RouteDispatcher.php
│   │   └── RouteResolver.php
│   └── YouRouteKernel.php
├── composer.json