/**
  * get all routes
  * get the URLs, the variables, the modules and the actions of all routes, use the "/applications/config/routes.xml" file.
  * @param string current url (optionnal)
  * @return array list of routes object
  */
 public function getAllRoutes($currentUrl = null)
 {
     //get content of the file.
     $xml = new \DOMDocument();
     $xml->load(__DIR__ . '/../applications/config/routes.xml');
     $file = $xml->getElementsByTagName('route');
     //parse the content.
     $varsNames = array();
     $varsValues = array();
     $varsList = array();
     foreach ($file as $line) {
         //create the route.
         $varsNames = explode(',', $line->getAttribute('vars'));
         //get the name of all variables
         $route = new route($line->getAttribute('url'), $line->getAttribute('module'), $line->getAttribute('action'), $line->getAttribute('name'), $varsNames);
         //get variables.
         if ($varsValues = $route->match($currentUrl)) {
             array_shift($varsValues);
             // the first result contain the full captured string (cf. pregmatch manual).
             foreach ($varsValues as $key => $match) {
                 $varsList[$varsNames[$key]] = $match;
             }
             $route->setVars($varsList);
         }
         //add the route to the router.
         $this->addRoute($route);
     }
     //return all routes.
     return $this->routes;
 }