Versio

Zend Routes

Overzicht Reageren

Allard Jansen

Allard Jansen

24/12/2011 19:55:18
Quote Anchor link
Ik ben helaas al een hele tijd bezig met Zend Route. Ik zit helaas erg in de knoop. Ik heb via dit filmpje een Zend Route gemaakt. Ik krijg alleen een error die maar niet weg wil. Ik heb echt alles al geprobeerd, maat helaas. Misschien kan iemand mij helpen?

Mijn error:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
Fatal error: Uncaught exception 'Zend_Controller_Router_Exception' with message 'users is not specified' in /home/websiteName/public_html/library/Zend/Controller/Router/Route.php:354

Stack trace:
#0 /home/websiteName/public_html/library/Zend/Controller/Router/Rewrite.php(470): Zend_Controller_Router_Route->assemble(Array, true, true)
#1 /home/websiteName/public_html/library/Zend/Controller/Action/Helper/Url.php(99): Zend_Controller_Router_Rewrite->assemble(Array, NULL, true, true)
#2 /home/websiteName/public_html/library/Zend/Navigation/Page/Mvc.php(230): Zend_Controller_Action_Helper_Url->url(Array, NULL, true, true)
#3 /home/websiteName/public_html/library/Zend/View/Helper/Navigation/Menu.php(233): Zend_Navigation_Page_Mvc->getHref()
#4 /home/websiteName/public_html/library/Zend/View/Helper/Navigation/Menu.php(448): Zend_View_Helper_Navigation_Menu->htmlify(Object(Zend_Navigation_Page_Mvc))
#5 /home/websiteName/public_html/library/Zend/View/Helper/Navigation/Menu.php(506): Zend_View_Helper_Navigation_Menu->_renderMenu(O in /home/websiteName/public_html/library/Zend/Controller/Plugin/Broker.php on line 336
Gewijzigd op 24/12/2011 19:57:19 door Allard Jansen
 
PHP hulp

PHP hulp

25/05/2012 19:59:11
Gesponsorde koppelingen:
 
Niels Kieviet
Beheerder

Niels Kieviet

24/12/2011 20:31:02
Quote Anchor link
Hoi Allard,

Dat betekend dat je een route gebruikt maar daarin niet de variabele user definieert. Kan je mij de code van het aanmaken en het aanroepen van de route tonen?

Niels
 
Allard Jansen

Allard Jansen

24/12/2011 23:02:58
Quote Anchor link
Natuurlijk. Hieronder is de code weergegeven. Ik dacht eerst dat het lag aan mijn server. Omdat ik Zend run op een virtuele server, gedeeld dus.

Mijn code (gemaakt in de Bootstrap)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
    /**
     * Here we are creating all Zend routes for the application
     */
    protected function _initRoutes()
    {
        /**
         * Get the router from the front controller
         */
        $router = Zend_Controller_Front::getInstance()->getRouter();
        
        $router->addRoute('listOnIndex', new Zend_Controller_Router_Route('/list', array('controller' => 'index', 'action' => 'list')));
        $router->addRoute('listOnIndexWithUsers', new Zend_Controller_Router_Route('/list/:users', array('controller' => 'index', 'action' => 'list')));        
    }
Gewijzigd op 24/12/2011 23:03:30 door Allard Jansen
 
Kees Schepers
Moderator

kees Schepers

25/12/2011 11:11:34
Quote Anchor link
Je verwacht toch een users variabele? Met welke URL krijg je deze error? Moet je ook niet defineren wat voor type variabele dit moet zijn?
 
Allard Jansen

Allard Jansen

25/12/2011 11:21:40
Quote Anchor link
Sorry, ik was misschien een beetje onduidelijk. Als ik naar de url 'http://websiteName.com/list/' ga, is er niks aan de hand. Maar als ik naar 'http://websiteName.com/list/1234' ga, krijg ik die vervelende error.

Ik wil met behulp van Zend Route de variabele users (1234), ophalen en vervolgens iets uitvoeren in een database. (Natuurlijk wel goed en veilig in verband met MySQL injecties)

Edit:
Ik heb een topic gevonden waar waarschijnlijk de oplossing staat. Alleen kan ik nog niet echt vinden wat ik nou precies moet doen om het probleem op te lossen.
http://stackoverflow.com/questions/1264834/zend-controller-router-exception-xyz-is-not-specified
Gewijzigd op 25/12/2011 13:21:17 door Allard Jansen
 
Kees Schepers
Moderator

kees Schepers

25/12/2011 13:46:25
Quote Anchor link
En als je het argument defineert?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$route
= new Zend_Controller_Router_Route('list/:users',
        array(
            'controller' => 'index',
            'action' => 'list',
        ),

        array(
            'users' => '\d+'
        )
);

$router->addRoute('listOnIndexWithUsers',$route);
?>


Zo moet het wel werken volgens mij :)
 
Allard Jansen

Allard Jansen

25/12/2011 14:23:54
Quote Anchor link
Nee, helaas niet. Gek genoeg werkt mijn huidige route (hieronder afgebeeld) alleen als ik mijn navigation niet echo, erg raar. Dit staat ook beschreven in dat topic. Helaas vind ik nog geen oplossing.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
protected function _initRoutes()
{

    /**
     * Get the router from the front controller
     */

    $router = Zend_Controller_Front::getInstance()->getRouter();
    $router->addRoute('newsPostId', new Zend_Controller_Router_Route('/news/show/:postId', array('controller' => 'news', 'action' => 'show')));    
}
Gewijzigd op 25/12/2011 14:24:35 door Allard Jansen
 
Kees Schepers
Moderator

kees Schepers

25/12/2011 16:47:49
Quote Anchor link
Maar resultaat is? Je krijgt dezelfde error? Kun je anders je volledige routeringen posten?
 
Allard Jansen

Allard Jansen

25/12/2011 22:56:55
Quote Anchor link
Dit is mijn volledige routing. Met jouw script veranderd er helaas ook niets.
 
Kees Schepers
Moderator

kees Schepers

26/12/2011 00:48:49
Quote Anchor link
Dus je krijgt nog steeds dezelfde error?
 
Allard Jansen

Allard Jansen

26/12/2011 10:18:34
Quote Anchor link
Ja helaas wel. Misschien kun je me helpen via Teamviewer? Als je tijd hebt en natuurlijk ook wilt.
 



Overzicht Reageren

Get Adobe Flash player