Décrivez ici votre problème ou ce que vous cherchez à faire.

<?php 
    require '../vendor/autoload.php';

    $router = new AltoRouter();

    $router->map('GET', '/blog', function() {
        require '../views/blog/show.php';
    });
    $router->map('GET', '/blog/category', function() {
        require '../views/category/show.php';
    });

    $match = $router->match();
    var_dump($match);

    // Vérifie si une route a été trouvée avant d'appeler la fonction de rappel
    if ($match !== false) {
        echo "Route correspondante trouvée!\n";
        echo "Target: " . $match['target'] . "\n";
        echo "Params: " . print_r($match['params'], true) . "\n";
        echo "Method: " . $match['method'] . "\n";
        echo "Name: " . $match['name'] . "\n";
        echo "Matched Path: " . $match['match'] . "\n";
    }
?>
------------- mon fichier composer.json
{
    "name": "test/test",
    "autoload": {
        "psr-4": {
            "Router\\" : "routes/",
            "AltoRouter\\" : "vendor/altorouter/altorouter/"
        }
    },
    "require": {
        "altorouter/altorouter": "1.2.0"
    }
}

------------- mon fichier .htaccess
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f 

RewriteRule ^(.*) public/index.php?url=$1 [QSA,L]

Ce que je veux

Je veux corriger l'erreur de la méthode match qui renvoie un boolean (false)

2 réponses


Hello,

Quel est la route que tu test actuellement ?

Que vaut l'url que tu essaye de match ?

C'est parce que tu utilises apache et il faut ajouter le fichier .htaccess pour activer la redirection. Voir la partie "Getting started" => "Rewrite all requests to AltoRouter" sur le github de altorouter.