La méthode match de altorouter renvoie toujours false

Par samuel oudane, il y a 2 ans


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

quenti77, il y a 2 ans

Hello,

Quel est la route que tu test actuellement ?

Que vaut l'url que tu essaye de match ?

wizz, il y a 2 ans

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.