ルートで 'や'をどうすればいいですか?Slim 3 - ルートでor-operatorを使用する方法?
たとえば、および/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
任意のアイデアこの問題を解決する方法を何?
または回避する解決策コードを繰り返しますか?
エラーはあなたの最後のルートパターンから来ています。あなたはurlを2回参照します...同じトークンを2回使用しないでください。 – geggleto
@geggletoコードを繰り返さないようにするための解決策はありますか? – laukok
コードを複製しないでください。http://www.slimframework.com/docs/objects/router.html#container-resolution – danopz