Bonjour,

[Tutoriel PHP : Développer un site : Jour 43, les routes] 45:00

Dans la méthode url() de la classe Router Grafikart utilise un test pour vérifier que le pattern de l'expression régulière est récupéré.

public static function url($url) {
        foreach (self::$routes as $v) {
            if(preg_match($v'origin'], $url,$match)) {
                debug('OK');
            }
        }
        return $url;
    }

Mon pattern semble correct, mais le OK ne s'affiche pas d'ailleurs si je change le test en faisant un

if(!preg_match($v'origin'], $url,$match)) {
                debug('OK');
            }

rien ne s'affiche!

Merci d'avance.
Sophonie.

2 réponses


iriven
Réponse acceptée

si ton pattern est correct, il m'est parfois arriver de régler ce genre de désagrément en posant plutôt ceci:

if(preg_match($v'origin'], $url,$match)!==false)
{
   debug('OK');
 }
sophonie
Auteur

Le OK s'affiche bien par contre si je fais ceci :

if(preg_match($v'origin'], $url,$match)!==false)
{
   debug($match);
 }

le Array() est vide !