ルーティング名が同一の場合、CustomizeのコントローラでPluginのルーティングを上書きできない
- Dominant language
- PHP
- Stars
- 788
- Forks
- 719
- Avg merge
- 4d 4h
- Merged PRs (30d)
- 39
Description
## 概要(Overview)
ルーティング名が同一の場合、CustomizeのコントローラでPluginのルーティングを上書きできない
app/Plugin/HogePlugin/Contoroller/HogeController.php
```
class HogeController extends AbstractController
{
/**
* @Route("/hoge", name="hoge")
*/
public function hoge () {
return new Response('plugin');
}
}
```
app/Customize/Contoroller/HogeController.php
```
class HogeController extends AbstractController
{
/**
* @Route("/hoge", name="hoge")
*/
public function hoge () {
return new Response('customize');
}
}
```
この時のルーティング一覧は以下の通り。
```
$ bin/console debug:r | grep hoge
hoge ANY https|http ANY /hoge
```
画面からアクセスすると、`plugin`が表示される。
## 回避方法
Customize側のルーティング名を別名にする
app/Customize/Contoroller/HogeController.php
```
class HogeController extends AbstractController
{
/**
* @Route("/hoge", name="hoge2")
*/
public function hoge () {
return new Response('customize');
}
}
```
この時のルーティング一覧は以下の通り。
```
$ bin/console debug:r | grep hoge
hoge ANY https|http ANY /hoge
hoge2 ANY https|http ANY /hoge
```
画面からアクセスすると、`customize`が表示される。
### 環境 (environment)
+ EC-CUBE: 4.1.x
+ PHP: 7.x.x
+ DB:
- PostgreSQL x.x.x
- MySQL x.x.x
## 関連情報 (Ref)
Contributor guide
Assessment
This issue has not been assessed yet.