Bonjour,

[Tutoriel PHP : Développer un site : Jour 43, les routes]
En ajoutant la ligne suivante dans le fichier Conf présente dans le répertoire config, j'ai le message suivant :

( ! ) Notice: Use of undefined constant r - assumed 'r' in /mod/www/vignoble/core/Router.php on line 39
Call Stack
#   Time    Memory  Function    Location
1   0.0002  230448  {main}( )   ../index.php:0
2   0.0005  231824  require( '/mod/www/vignoble/core/includes.php' )    ../index.php:24
3   0.0014  239312  require( '/mod/www/vignoble/config/Conf.php' )  ../includes.php:15
4   0.0014  239552  Router::connect( )  ../Conf.php:13

/**
 * Classe conçu pour effectuer un appel statique de la variable de classe $debug
 * 
 */
class Conf {
    public static $debug = 1;
}
Router::connect('post/:slug-:id','posts/view/id:([0-9]+)/slug:([a-z0-9\-]+)');

class Router {
    static $routes = ];
/**
     * 
     * @param type $redir
     * @param type $url
     */
    public static function connect($redir, $url) {
        $r = ];
        $r"origin"] = "/" . str_replace('/', '\/', $url) . '/';

        self::$routes] = r;
        debug($r);
    }
}

Merci d'avance.
Sophonie.

2 réponses


sophonie
Auteur
Réponse acceptée

[Résolu]
Le problème venait exactement de là :

self::$routes] = r;

il faut mettre $r et non r

Salut,

Je ne sais pas si le problème vient de là mais à la ligne 11 :

self::$routes] = r;

r est quoi ? si tu n'as pas défini au préalable une constante s'appelant r php ne sait pas ce que c'est.

Ensuite essaye de mettre en forme ton sujet là je ne comprends pas trop de quel fichier sont extrait tes bouts de code.

PS : Bien joué pour avoir ouvert le 2000iéme topic de la section PHP.