に指定しなくても、私は成功し、次のルートアクセスできるように、私はsymfonyのlocale
オプションを設定したいと思います:現在symfonyのデフォルトロケールURL
/route
/{locale}/route
を私は/{locale}/route
にアクセスすることができ、私はしかし、私の見解を取得し、 /route
はNo route found for "GET /route"
を返します。次のように私の構成は次のとおりです。
#app/config/parameters.yml
parameters:
locale: en
#app/config/config.yml
parameters:
app_locales: en|fr
framework:
translator: { fallback: "%locale%" }
default_locale: "%locale%"
#app/config/routing.yml
app:
resource: '@AppBundle/Controller/'
type: annotation
私のコントローラは、次の注釈があります
#src/AppBundle/Controller/Admin/MyController.php
/**
*
* @Route(
* "/{_locale}/admin/my",
* defaults={"_locale":"%locale%"},
* requirements={"_locale":"%app_locales%"}
* )
*/
class MyController extends Controller
{
/**
* @Route("/", name="admin_my_list")
* @Method("GET")
*/
public function listAction()
{
...
}
}
私は、具体的locale
、そのすべての作品が含まれている場合。 locale
を除外すると、No route found
というエラーが発生します。
次のパターンは当てはまりません。 '/ route'と'/locale/route'は 'en'または' fr'として定義された '_locale'の要件に基づいてマッチする2つの異なるルートです。デフォルトの '_locale'を定義すると、ルートを生成し、' _locale'パラメータを省略するときに役立ちます。あなたが本当にやりたければ(そして私はそれを助言しません)、カスタムの 'RouteMatcher'を書くことができます。 –