Implementacija usmerjevalnika v lastnem MVC ogrodju

Zdaj napišimo osnovo razreda Router v skladu z našimi klici:

/core/Router.php<?php
  namespace Core;
  
  class Router
  {
    private $routes;
    
    public function getTrack($routes, $uri)
    {
      // tukaj bo koda
    }
  }
?>

V metodi getTrack moramo določiti, katera pot ustreza danemu $uri. Za to moramo z zanko prebrati naš seznam s potmi:

/core/Router.php<?php
  namespace Core;
  
  class Router
  {
    public function getTrack($routes, $uri)
    {
      foreach ($routes as $route) {
        // preverjanje $uri in $route
      }
    }
  }
?>

Če neka pot ustreza URI-ju, moramo iz tega URI-ja pridobiti vrednosti parametrov poti in vrniti objekt razreda Track:

/core/Router.php<?php
  namespace Core;
  
  class Router
  {
    public function getTrack($routes, $uri)
    {
      foreach ($routes as $route) {
        if (preverjanje ujemanja poti in URI-ja) {
          $params = ; // potrebno je dobiti parametre iz uri-ja
          return new Track($route->controller, $route->action, $params);
        }
      }
      
      return new Track('error', 'notFound'); // če nobena pot ne ustreza
    }
  }
?>
Задание 1

Kopirajte mojo osnovo razreda Router in jo postavite v datoteko /core/Router.php.

Задание 2

Implementirajte opisani razred Router, ki kot rezultat vrne objekt razreda Track. Če boste imeli težave (kar je zelo verjetno), poglejte v izvorno kodo ogrodja, po katerem ste preučevali uporabo MVC. Tam boste v razredu Router našli manjkajoči del implementacije in moje komentarje nanjo.