| Conditions | 5 |
| Paths | 9 |
| Total Lines | 26 |
| Code Lines | 13 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 0 | ||
| 1 | <?php |
||
| 32 | public function __invoke(ViewController $view, string $name, array $parameters = []) |
||
| 33 | { |
||
| 34 | /** @var Config $config */ |
||
| 35 | $config = ServiceLocator::instance()->get(Config::class); |
||
| 36 | $routes = require $config->get('routeFile'); |
||
| 37 | $path = ''; |
||
| 38 | |||
| 39 | foreach ($routes as $routeName => $data) { |
||
| 40 | |||
| 41 | if ($routeName === $name) { |
||
| 42 | $path = preg_replace('|/\((.*)\)|', '', $data['path']);; |
||
| 43 | break; |
||
| 44 | } |
||
| 45 | |||
| 46 | } |
||
| 47 | |||
| 48 | if (empty($path)) { |
||
| 49 | throw new \Exception('No route for name "' . $name . '" found'); |
||
| 50 | } |
||
| 51 | |||
| 52 | if (!empty($parameters)) { |
||
| 53 | $path = $path . '/' . implode('/', $parameters); |
||
| 54 | } |
||
| 55 | |||
| 56 | return $path; |
||
| 57 | } |
||
| 58 | |||
| 59 | } |