ルートで「または」を実行するにはどうすればよいですか?
たとえば、同じオブジェクト/クラス/メソッド/about
を/fr/about
指しています。したがって、代わりに:
$app->get('/{url:[a-zA-Z0-9\-]+}', function (Request $request, Response $response, array $args) {
// same staff
});
$app->get('/{language:[fr|en]+}/{url:[a-zA-Z0-9\-]+}', function (Request $request, Response $response, array $args) {
// same staff
});
私はこれで試しました:
$app->get('/{url:[a-zA-Z0-9\-]+}|/{language:[fr|en]+}/{url:[a-zA-Z0-9\-]+}', function (Request $request, Response $response, array $args) {
// same staff
});
次のエラーが表示されます。
Type: FastRoute\BadRouteException
Message: Cannot use the same placeholder "url" twice
File: /var/www/mysite/vendor/nikic/fast-route/src/DataGenerator/RegexBasedAbstract.php
この問題を解決する方法はありますか?
または、コードの繰り返しを避けるための解決策はありますか?