Bonjour les amis,
Décrivez ici votre code ou ce que vous cherchez à faire
<?php
require '../vendor/autoload.php';
$router = new AltoRouter();
define('VIEW_PATH', dirname(__DIR__).'/views');
$router->map('GET', '/blog',function(){
require VIEW_PATH . '/post/index.php';
});
$router->map('GET', '/blog/category', function(){
require VIEW_PATH . '/category/shows.php';
});
$match = $router->match();
$match['target']();
Décrivez ici ce que vous cherchez à obtenir
Notice: Trying to access array offset on value of type bool in C:\xampp\htdocs\TPblog\public\index.php on line 15
Fatal error: Uncaught Error: Function name must be a string in C:\xampp\htdocs\TPblog\public\index.php:15 Stack trace: #0 {main} thrown in C:\xampp\htdocs\TPblog\public\index.php on line 15
Salut,
$match
est un booléen, var_dump($match)
pour le voir, donc tu ne peux pas y accéder comme un tableau. D'après la doc : If a match was found, the match() method will return an associative array with the following 3 keys.
.
Donc tu devrais faire
if( is_array($match) && is_callable( $match['target'] ) ) {
call_user_func_array( $match['target'], $match['params'] );
} else {
// no route was matched
header( $_SERVER["SERVER_PROTOCOL"] . ' 404 Not Found');
}