ZF Router_Route

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bo az

Bo az

09/07/2008 14:12:00
Quote Anchor link
Ik probeer een route aan te maken, maar zodra deze route gevolgd wordt, komt er een witte pagina in beeld.

Het probleem blijkt te zijn dat er gewoon geen output komt en alleen in het geval van een Route. Hier de routes die ik aan de router mee geef:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php

$router
= $frontController->getRouter();
    $router->addRoute('recept', new Zend_Controller_Router_Route('recept/:recept', array(
        'module' => 'default',
        'controller' => 'recept',
        'action' => 'view',
        'recept' => null)
    ));

    $router->addRoute('login', new Zend_Controller_Router_Route_Static(
        'login',
        array(
            'controller' => 'admin',
            'action' => 'login'
        )
    ));
[
/code]

Het probleem doet zich alleen voor bij de Route, de Route_Static werkt wel gewoon.

Via de volgende debug regels:
[
code]
[
code]<?php
$frontController
->dispatch($request);
Zend_Debug::dump($router->getCurrentRouteName());
Zend_Debug::dump($request);
[
/code]

Ben ik er achtergekomen dat de juiste route wel gevolgd wordt.
Ook ben ik er achter dat de juiste controller en action wel wordt aangesproken en uitgevoerd alleen wordt de output niet weergegeven maar opgeslagen in een private variabele van het $request object.
$request is een instantie van Zend_Controller_Request_Http

Is iemand van jullie dit probleem wel eens tegen gekomen of weet iemand waar ik een oplossing kan vinden/zoeken?

ZF version = 1.5.2
Gewijzigd op 01/01/1970 01:00:00 door Bo az
 
PHP hulp

PHP hulp

20/02/2025 14:36:48
 
Lode

Lode

09/07/2008 15:29:00
Quote Anchor link
Zoek een method waarmee je het eruit kan ophalen?
Daar zijn er in Zend waarschijnlijk meerdere van...
 
Bo az

Bo az

09/07/2008 20:46:00
Quote Anchor link
Uiteindelijk is het gelukt met:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
'recept' => ''
[/code]
in plaats van
[code]
[
code]<?php
'recept' => null
[/code]

Toch bedankt Lode!
Gewijzigd op 01/01/1970 01:00:00 door Bo az
 
Bo az

Bo az

13/07/2008 13:01:00
Quote Anchor link
Nog een vraagje wat hier mee te maken heeft:

Klopt het dat het eerste gedeelte van je route (in het voorbeeld van mijn eerste post: recept) niet overeen mag komen met de naam van een controller?
 
Robert Deiman

Robert Deiman

13/07/2008 14:41:00
Quote Anchor link
Volgens mij moet je het ook zo zien dat hij een nieuwe controller aanmaakt. Overschrijven zal daarbij blijkbaar niet toegestaan zijn. (Ik ben niet zo heel bekend met het Zend Framework)
 
Jelmer -

Jelmer -

13/07/2008 15:08:00
Quote Anchor link
Ik heb zelf ook geen ervaring met ZF, maar volgens mij is de naam van de controller niet direct verbonden met de URL, en kan je dus veilig beiden hetzelfde hebben. Het eerste argument van addRoute is een soort 'id', dat kan je later weer gebruiken om URLs te genereren: http://framework.zend.com/manual/en/zend.controller.router.html (2e note)
 
Bo az

Bo az

13/07/2008 15:23:00
Quote Anchor link
Jelmer, dat klopt, maar dat is voor het opbouwen van de url.

Voor het matchen kan alleen de url gebruikt worden heb je dus een route:
recept/:recept
Zal de url site.com/recept/zoek gematched worden. Terwijl deze eigenlijk naar de zoekAction van ReceptController zou moeten gaan.

Eingelijk zou dus eerste de default route geprobeerd moeten worden, ik heb alleen geen idee hoe en een vermoeden dat het niet gaat werken gezien de __call methode.
 
Jelmer -

Jelmer -

13/07/2008 15:36:00
Quote Anchor link
Dus recept/zoek moet naar zoekActie() en recept/pindakaas moet naar view()
Handleiding::
Routes are matched in reverse order so make sure your most generic routes are defined first.

Mij lijkt dat je eerst de variabele route toevoegt aan de router, en dan een 2e static route:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$router
->addRoute('zoek_recept', new Zend_Controller_Router_Route_Static(
    'recept/zoek',
    array('controller' => 'Recept', 'action' => 'zoek')
));

?>
Gewijzigd op 01/01/1970 01:00:00 door Jelmer -
 
Bo az

Bo az

13/07/2008 15:39:00
Quote Anchor link
Daar was ik dus niet op gekomen, vandaar mijn vraag hier :)

Bedankt, ik denk dat ik er wel wat mee kan!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.