turk porno porno escort rokettube
Ergebnis 1 bis 7 von 7

Thema: Kapitel 16.2 / Listing 16.3 - Das Routing

  1. #1
    Neuer Benutzer
    Registriert seit
    18.09.2013
    Beiträge
    4
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Standard Kapitel 16.2 / Listing 16.3 - Das Routing

    Hallo,

    ich habe folgendes Problem.

    Ich habe laut Buch folgende Routes eingetragen.
    PHP-Code:
    return array(
        
    'router' => array(
            
    'routes' => array(
                
    'blog' => array(
                    
    'type' => 'literal',
                    
    'options' => array(
                        
    'route' => '/blog',
                        
    'defaults' => array(
                            
    'controller' => 'blog',
                            
    'action' => 'index',
                        ),
                    ),
                    
    'may_terminate' => true,
                    
    'child_routes' => array(
                        
    'action' => array(
                            
    'type' => 'segment',
                            
    'options' => array(
                                
    'route' => '/:url',
                                
    'constraints' => array(
                                    
    'url' => '[a-zA-Z][a-zA-Z0-9-]*',
                                ),
                                
    'defaults' => array(
                                    
    'action' => 'show',
                                ),
                            ),
                        ),
                        
    'page' => array(
                            
    'type' => 'segment',
                            
    'options' => array(
                                
    'route' => '/:page',
                                
    'constraints' => array(
                                    
    'page' => '[0-9]+',
                                ),
                            ),
                        ),
                        
    'rss' => array(
                            
    'type' => 'literal',
                            
    'options' => array(
                                
    'route' => '/rss',
                                
    'defaults' => array(
                                    
    'action' => 'rss',
                                ),
                            ),
                        ),
                    ),
                ),
                
    'blog-admin' => array(
                    
    'type' => 'literal',
                    
    'options' => array(
                        
    'route' => '/blog-admin',
                        
    'defaults' => array(
                            
    'controller' => 'blog-admin',
                            
    'action' => 'index',
                        ),
                    ),
                    
    'may_terminate' => true,
                    
    'child_routes' => array(
                        
    'action' => array(
                            
    'type' => 'segment',
                            
    'options' => array(
                                
    'route' => '/:action[/:id]',
                                
    'constraints' => array(
                                    
    'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
                                    
    'id' => '[0-9]+',
                                ),
                            ),
                        ),
                        
    'page' => array(
                            
    'type' => 'segment',
                            
    'options' => array(
                                
    'route' => '/:page[/:sort]',
                                
    'constraints' => array(
                                    
    'page' => '[0-9]+',
                                    
    'sort' => '[a-zA-Z][a-zA-Z0-9_-]*',
                                ),
                            ),
                        ), 
                   ), 
               ),
            ),
        ),
    [ ... ] 
    Das Ganze funktioniert soweit auch recht gut. Auch das Testen der URLs.
    Aber sollte es nicht so sein, wenn eine URL in den Constraints aufgelöst werden kann aber es keine passende Action-Methode gibt, dass dann die indexAction-Methode aufgerufen werden sollte?
    Im Route "blog" funktioniert dieses auch nur nicht im Route "blog-admin".
    Sprich wenn ich als URL luigis-pizza.local/blog-admin/updates (man achte auf das s am Ende) wird nicht die indexAction aufgerufen sonder ich bekomme eine Fehlermeldung:

    Die aufgerufene Seite wurde nicht gefunden.

    Der angeforderte Controller war nicht in der Lage die Anfrage zu verarbeiten.

    Weitere Informationen

    Controller blog-admin

    Habe ich da einfach nur einen Denkfehler?

    P.S.: Das Buch ist echt klasse...

  2. #2
    Erfahrener Benutzer
    Registriert seit
    18.05.2012
    Beiträge
    156
    Thanks
    5
    Thanked 29 Times in 22 Posts

    Standard

    edit: Inhalt entfernt, da er offensichtlich falsch war.

    Sofern du deine Links aber brav mit dem URL View Helper erstellen lässt, dürften derartige Fälle ohnehin nur dann entstehen, wenn jemand die URL manuell eintippt und sich dabei versieht.

  3. #3
    Neuer Benutzer
    Registriert seit
    18.09.2013
    Beiträge
    4
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Standard

    Was mich aber noch wundert, wenn ich die
    PHP-Code:
     'defaults' => array('action' => 'show', ), 
    in der "blog/:url" auskommentiere, dann wird tatsächlich die indexAction aufgerufen, wenn laut den Constraints die URL aufgelöst werden kann aber keine passende Action aufgerufen werden konnte.

    Beispielsweise: "luigis-pizza.local/blog/aa" dann wird die indexAction vom blog-Controller aufgerufen.
    Hingegen bei der "blog-admin/:url" passiert dieses nicht, da wird dann nicht die indexAction vom blog-admin-Controller aufgerufen, sonder es gibt s.o. eine Fehlermeldung.

  4. #4
    Erfahrener Benutzer Avatar von Ralf
    Registriert seit
    14.12.2006
    Beiträge
    450
    Thanks
    0
    Thanked 47 Times in 37 Posts

    Standard

    Moin,

    wenn du den Default-Wert für die "action" in der Route "blog/action" auskommentierst, dann greift der Default-Wert der übergeordneten Route, also der "blog" Route. Somit wird die Route "blog/action" durch dein "/aa" zwar erkannt, aber es greift eben der Default-Wert für die "action" aus der Parent-Route und der ist nun mal "index".

    Gruß,

    Ralf

  5. The Following User Says Thank You to Ralf For This Useful Post:

    BetaCancri (19.09.2013)

  6. #5
    Neuer Benutzer
    Registriert seit
    18.09.2013
    Beiträge
    4
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Standard

    Moin Ralf,
    Zitat Zitat von Ralf Beitrag anzeigen
    es greift eben der Default-Wert für die "action" aus der Parent-Route und der ist nun mal "index".
    Dachte ich mir schon, dass dieses "Verhalten" richtig ist. Aber dann stehe immer noch vor dem Problem, warum es nicht mit den child_routes im blog-admin Routes funktioniert. Wie gesagt, dann bekomme ich s.o. die Fehlermeldung. Funktioniert leider auch nicht mit der original Datei, das dann die indexAction aufgerufen wird.
    Ich arbeite mich erst mal weiter durch Kapitel 16., vielleicht sollte ich mich damit mal separat beschäftigen.

  7. #6
    Erfahrener Benutzer Avatar von Ralf
    Registriert seit
    14.12.2006
    Beiträge
    450
    Thanks
    0
    Thanked 47 Times in 37 Posts

    Standard

    Moin,

    wenn du luigis-pizza.local/blog-admin/updates aufrufst und eine "Die aufgerufene Seite wurde nicht gefunden." Meldung bekommst, ist folgendes passiert. Zuerst hat die Route "blog-admin/action" gegriffen. Danach wird versucht, die Aktion "updates" ausgeführt. Da diese nicht existiert, bekommst du den entsprechenden Fehler. Ich hoffe, es ist nun etwas klarer.

    Gruß,

    Ralf

  8. The Following User Says Thank You to Ralf For This Useful Post:

    BetaCancri (20.09.2013)

  9. #7
    Neuer Benutzer
    Registriert seit
    18.09.2013
    Beiträge
    4
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Standard

    Moin Ralf,
    ah ja ... logisch ... Oh man, das war nicht nur ein Brett sondern gleich das ganze Regal vorm Kopf

    Danke noch mal.

Ähnliche Themen

  1. Kapitel 17
    Von Unreality im Forum Zend Framework 2 Buch
    Antworten: 7
    Letzter Beitrag: 01.06.2013, 09:41
  2. Kapitel 16.2 - RSS-Seite
    Von Reo im Forum Zend Framework 2 Buch
    Antworten: 1
    Letzter Beitrag: 27.05.2013, 11:44
  3. Kapitel 8.6 FactoryInterface
    Von Alex.Mod im Forum Zend Framework 2 Buch
    Antworten: 17
    Letzter Beitrag: 12.05.2013, 20:09
  4. Kapitel 4.4 Zend\Log
    Von Alex.Mod im Forum Zend Framework 2 Buch
    Antworten: 8
    Letzter Beitrag: 02.05.2013, 17:55
  5. Performance-Listing
    Von codejumper im Forum Einsteigerfragen
    Antworten: 4
    Letzter Beitrag: 27.06.2009, 17:22

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •