Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak dział router?
MESSIAH :)
post
Post #1





Grupa: Zarejestrowani
Postów: 249
Pomógł: 0
Dołączył: 22.12.2011

Ostrzeżenie: (10%)
X----


Mam problem ze zrozumieniem routeringu w php. Tu jest skrypt routera który chciałbym użyć. Gdy użyję kodu od autora:
  1. <?php
  2.  
  3. require '/path/to/vendor/autoload.php';
  4.  
  5. $dispatcher = FastRoute\simpleDispatcher(function(FastRoute\RouteCollector $r) {
  6. $r->addRoute('GET', '/user/{id:\d+}', 'handler1');
  7. $r->addRoute('GET', '/user/{id:\d+}/{name}', 'handler2');
  8. // Or alternatively
  9. #$r->addRoute('GET', '/user/{id:\d+}[/{name}]', 'common_handler');
  10. });
  11.  
  12. // Fetch method and URI from somewhere
  13. $httpMethod = $_SERVER['REQUEST_METHOD'];
  14. $uri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
  15.  
  16. $routeInfo = $dispatcher->dispatch($httpMethod, $uri);
  17. switch ($routeInfo[0]) {
  18. case FastRoute\Dispatcher::NOT_FOUND:
  19. // ... 404 Not Found
  20. break;
  21. case FastRoute\Dispatcher::METHOD_NOT_ALLOWED:
  22. $allowedMethods = $routeInfo[1];
  23. // ... 405 Method Not Allowed
  24. break;
  25. case FastRoute\Dispatcher::FOUND:
  26. $handler = $routeInfo[1];
  27. $vars = $routeInfo[2];
  28. // ... call $handler with $vars
  29. break;
  30. }

Wtedy $routeInfo zawsze jest pusty. Czy pomoże mi ktoś zrozumieć zasady działania tego Routera? Czy muszę użyć przekierowań w pliku .htaccess? Chciałbym wiedzieć jak definiowane są linki oraz jak je odbierać.


--------------------
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 03:05