Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 19-03-2014 19:18:03

Bouks
Membre
Lieu: Paris
Date d'inscription: 31-08-2012
Messages: 241

test url matche routing

Hello.

Quelqu'un aurait-il un petit script carambar pour tester si une url (string) matche avec une des routes du module ?


22914720

Hors ligne

 

#2 19-03-2014 19:54:32

flobrflo
Membre
Lieu: Marseille
Date d'inscription: 26-04-2013
Messages: 376

Re: test url matche routing

Code:

[lang=php]
class CarambarControllerTest extends \Zend\Test\PHPUnit\Controller\AbstractHttpControllerTestCase
{
    public function setUp()
    {
        $this->setApplicationConfig(
                include __DIR__ . '/../../../../../config/application.config.php'
        );
        parent::setUp();
    }

public function testCarambar()
    {
        $this->dispatch('/');

        $this->assertResponseStatusCode(200);
        $this->assertModuleName('application');
        $this->assertControllerName('application\controller\index');
        $this->assertControllerClass('CarambarController');
        $this->assertMatchedRouteName('carambar-route');

        $this->assertQuery('html > head');
    }
}

C'est pas de moi, mais ça devrait marcher ^^

Dernière modification par flobrflo (19-03-2014 19:55:18)

Hors ligne

 

#3 19-03-2014 21:17:37

Bouks
Membre
Lieu: Paris
Date d'inscription: 31-08-2012
Messages: 241

Re: test url matche routing

Merci mais ce n'est pas ce que je cherche.

J'ai une url, disons http://www.mondomaine.com/album/view/3

Je veux savoir si cette url est valide avec ma conf de routage, ie elle existe bien pour le routeur.

Cela dans mon programme, pas dans des tests unitaires.

Dernière modification par Bouks (19-03-2014 21:28:59)


22914720

Hors ligne

 

#4 20-03-2014 09:27:53

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: test url matche routing

Plop, en récupérant le code du dans le module MVC ça ne fonctionne pas ? J'ai pas d'appli sous les yeux mais en regardant vite fait sur github tu devrais pouvoir trouver ton bonheur en t'inspirant de ça https://github.com/zendframework/zf2/bl … k.php#L290 et du MvcEvent.

Hors ligne

 

#5 20-03-2014 10:52:32

Bouks
Membre
Lieu: Paris
Date d'inscription: 31-08-2012
Messages: 241

Re: test url matche routing

J'avais bien vu ce que tu m'indiques mais ça ne fonctionne pas. Enfin je me suis peut-être planté dans l'utilisation.

Code:

[lang=php]
public function setEventManager(EventManagerInterface $em)
{
    $em->attach('dispatch', function ($e) {
        $rm = $e->getRouter()->getRoutePluginManager();
        $request = (new Request())->setUri('http://mondomaine.com');
        $match= (new SimpleRouteStack($rm))->addRoutes($e->getApplication()->getConfig()['router']['routes'])->match($request);
        var_dump($match);
    }, 100);
    parent::setEventManager($em);
}

me retourne bien le bon routeMatch.

Cependant si je met une quelconque url valide et bien routée par mon module (genre http://mondomaine.com/albums), ça me retourne null.


22914720

Hors ligne

 

#6 20-03-2014 11:05:15

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: test url matche routing

Ben moi je l'aurais utilisé comme le fait le moteur Mvc pour dispatcher ta requête en fonction de l'url du navigateur. Si ça marche dans le moteur Mvc on doit pouvoir le réutiliser ailleurs puisqu'avec l'url il retrouve la route. Tu devrais trouver des infos ici : http://framework.zend.com/manual/2.3/en … uting.html ça me semble pas bien compliqué en fait à faire big_smile

Hors ligne

 

#7 20-03-2014 11:25:14

Bouks
Membre
Lieu: Paris
Date d'inscription: 31-08-2012
Messages: 241

Re: test url matche routing

Ok c'est bon. Il fallait utiliser TreeRouteStack au lieu de SimpleRouteStack.


22914720

Hors ligne

 

#8 20-03-2014 11:54:14

Bouks
Membre
Lieu: Paris
Date d'inscription: 31-08-2012
Messages: 241

Re: test url matche routing

Le script en application concrète :

http://www.z-f.fr/forum/viewtopic.php?id=9011


22914720

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages