私は現在、Symfony4 (4.3) プロジェクトでルーティングに行き詰まっています。私の問題は非常に単純です。コントローラーでルート注釈を使用したいのですが、これらの順序を定義したいと考えています。
たとえば、次のルーティングを持つ 2 つのコントローラーがあるとします。
class BarController extends AbstractController
{
/**
* @Route("/test/{data}", name="app_bar")
*/
public function index($data)
{
// ...
return $this->render('index.html.twig', [
'data' => $data,
]);
}
}
と
class FooController extends AbstractController
{
/**
* @Route("/test/my_value", name="app_foo")
*/
public function index()
{
// ...
return $this->render('index.html.twig', [
'data' => 'my_value',
]);
}
}
このconfig/routes/annotations.yaml
ようにルートを定義します
app_controllers:
resource: ../../src/Controller/
type: annotation
次に、私が電話をかけた場合、彼のアクションが定義/test/my_value
されているのでリダイレクトされたいのですが、ルートがアルファベット順にロードされるように、ルート付きのアクションが最初に呼び出されます。FooController
index
@Route("/test/my_value", name="app_foo")
index
BarController
app_bar
だから私は次のルーティングを定義しようとしました:
app_foo_controller:
resource: ../../src/Controller/FooController.php
type: annotation
app_controllers:
resource: ../../src/Controller/
type: annotation
しかし、これは機能しませんでした.BarControllerと彼のapp_bar
ルートは、FooControllerからのルートの前に呼び出さapp_foo
れました.
config/routes/annotations.yaml
また、両方に任意のタイプのルートが含まれている可能性があるため、 vsの目的がわかりませんconfig/routes.yaml
... 何か見逃していますか?