Goedemorgen,
Momenteel ben ik bezig met een applicatie icm Zend Framework, moet er bij vermelden dat het voor mij het eerste framework is wat ik gebruik (hiervoor altijd rechtoe rechtaan, echter het project waar we nu mee bezig zijn heeft een gedegen fundering nodig.).
Anyhoe; wanneer ik naar /user navigeer krijg ik een keurig overzicht te zien van de op dat moment ingelogde gebruiker en de informatie welke ik uit de database heb gehaald.
Wanneer ik in de view waar ik dit overzicht genereer;
echo $this->url( 'user/edit/' );
vervang voor
echo $this->url( 'user/edit/' . $uid );
Begrijpt de router niet meer waar deze heen moet, de foutmelding welke ik krijg:
Uncaught exception 'Zend\Mvc\Router\Exception\RuntimeException' with message 'Route with name "user" does not have child routes'
De route welke niet werkt heb ik overgenomen van de 'Album' module welke ook in de tutorial van Zend gebruikt wordt, deze heb ik ook nog draaien en werkt verder naar behoren daarom vindt ik het ook zo vreemd dat deze het niet doet in de Core module aangezien alleen de naam welke in de URL wordt aangeroepen gewijzigd is.
Uiteraard heb ik al het e.e.a. gezocht ook wel iets met een wildcard route kunnen vinden maar nog geen oplossing kunnen vinden welke ik kan aanpassen naar mijn situatie (of ik begrijp nog niet hoe 't er ingezet moet worden), ook verwacht ik niet dat een oplossing mij zomaar voorgekouwd wordt ik wil tenslotte ook zelf er nog iets van opsteken.
Wanneer er meer informatie nodig is hoor ik het graag.
Werkende situatie:
Niet werkende situatie:
Momenteel ben ik bezig met een applicatie icm Zend Framework, moet er bij vermelden dat het voor mij het eerste framework is wat ik gebruik (hiervoor altijd rechtoe rechtaan, echter het project waar we nu mee bezig zijn heeft een gedegen fundering nodig.).
Anyhoe; wanneer ik naar /user navigeer krijg ik een keurig overzicht te zien van de op dat moment ingelogde gebruiker en de informatie welke ik uit de database heb gehaald.
Wanneer ik in de view waar ik dit overzicht genereer;
echo $this->url( 'user/edit/' );
vervang voor
echo $this->url( 'user/edit/' . $uid );
Begrijpt de router niet meer waar deze heen moet, de foutmelding welke ik krijg:
Uncaught exception 'Zend\Mvc\Router\Exception\RuntimeException' with message 'Route with name "user" does not have child routes'
De route welke niet werkt heb ik overgenomen van de 'Album' module welke ook in de tutorial van Zend gebruikt wordt, deze heb ik ook nog draaien en werkt verder naar behoren daarom vindt ik het ook zo vreemd dat deze het niet doet in de Core module aangezien alleen de naam welke in de URL wordt aangeroepen gewijzigd is.
Uiteraard heb ik al het e.e.a. gezocht ook wel iets met een wildcard route kunnen vinden maar nog geen oplossing kunnen vinden welke ik kan aanpassen naar mijn situatie (of ik begrijp nog niet hoe 't er ingezet moet worden), ook verwacht ik niet dat een oplossing mij zomaar voorgekouwd wordt ik wil tenslotte ook zelf er nog iets van opsteken.
Wanneer er meer informatie nodig is hoor ik het graag.
Werkende situatie:
PHP:
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
36
37
38
39
40
41
42
43
| /*module\core\config\module.config.php*/ 'router' => array( 'routes' => array( 'user' => array( 'type' => 'Literal', 'options' => array( 'route' => '/user', 'defaults' => array( '__NAMESPACE__' => 'Core\Controller', 'controller' => 'User', 'action' => 'index', ), ), 'may_terminate' => true, 'child_routes' => array( 'default' => array( 'type' => 'Zend\Mvc\Router\Http\Literal', 'options' => array( 'route' => '/', 'defaults' => array( 'controller' => 'Core\Controller\User', 'action' => 'index', ), ), ), 'edit' => array( 'type' => 'Zend\Mvc\Router\Http\Literal', 'options' =>array( 'route' => '/edit', 'defaults' => array( 'controller' => 'Core\Controller\User', 'action' => 'edit' ), ), ), ), ), ), ), /* index.phtml */ echo $this->url( 'user/edit' ); |
Niet werkende situatie:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| /*module\core\config\module.config.php*/ 'router' => array( 'routes' => array( 'user' => array( 'type' => 'segment', 'options' => array( 'route' => '/user[/:action][/:id]', 'constraints' => array( 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', 'id' => '[0-9]+', ), 'defaults' => array( 'controller' => 'Core\Controller\User', 'action' => 'index', ), ), ), ), ), /* index.phtml */ echo $this->url( 'user/edit/1' ); |