сопоставить http | https с fasteRoute в Slim3

вот мой образец FastRoute для slim3:

$app->get('/api/search/[{domaine}[/{notused:.+}]]', function ($request, $response, $args) {
return $this->renderer->render($response, 'index.phtml', $args);
});

с этим FastRoute «regex» ([{domaine} [/ {notused:. +}]]) я сопоставляю:

/api/search/sample.com
/api/search/sample.com/test
/api/search/

И $ args [‘domaine’] возвращает «sample.com».

но я тоже хочу соответствовать этому:

/api/search/http://sample.com
/api/search/https://sample.com

добавить новый маршрут, как эта работа:

$app->get('/api/search/http://[{domaine}[/{notused:.+}]]' ...
$app->get('/api/search/https://[{domaine}[/{notused:.+}]]' ...

Но лучше всего одну строчку.

Есть идеи ?

1

Решение

Было бы лучше, если вы используете URL-адрес в качестве параметра запроса.

Но когда вы действительно, что использовать это, вы могли бы также пересмотреть часть http (s)

$app->get('/api/search/{urlSchema:https?}://[{domaine}[/{notused:.+}]]', ..);

это означает, что это требует http а затем иметь 0-1 s,

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]