현재까지 Yii 2에는 컨트롤러 및 모듈 이름의 모호성을 해결하는 기본 방법이 없습니다. 모듈 계층 구조의 예는 내 말을 정확하게 설명하기 :Yii2 : 컨트롤러 및 모듈 이름의 모호성을 해결하는 적절한 방법
app\modules\v1\controllers\UserController
는 //은/V1/사용자를 해결하고/V1/사용자/{ID} 행동 app\modules\v1\modules\user\Module.php
// 중첩 된 모듈은/V1/사용자 /을 해결합니다. .. 컨트롤러와 그 동작, 예./v1/user/something/{id}
이 경우 UserController는 사용자 모듈과 충돌합니다. 모호성의 주된 이유는 Yii 2 프레임 워크의 단수형 복수 마법입니다. 나는이 모호성을 해결할 적절한 해결책을 찾지 못했습니다. 내 아이디어를 더욱 발전시켜 해결할 수 있습니다.
- 모듈의 이름을 변경하십시오.
- UserController의 이름을 UsersController로 변경하십시오.
- 추가 하위 모듈을 만들고 UserController를 배치하십시오. 예 :
app\modules\v1\modules\root\controllers\UserController
적어도 이러한 옵션 중 하나 이상은 Yii 2 철학을 고려해 볼 때 매우 우아하고 적절한 솔루션이라고는 확신하지 못합니다.
주요 질문으로 돌아 가면 Yii 2 철학에서이 문제를 해결하기위한 더 적절한 방법은 무엇입니까? 컨트롤러와 모듈은 다원화 되었든 그렇지 않든 서로 다른 두 가지 유형의 객체이므로 설명 된 사례의 라우팅에서 객체를 분리하는 올바른 방법이어야합니다.
답변 해 주셔서 감사합니다. 나는 같은 전략을 선택했다.컨트롤러와 모듈의 이름의 모호성을 피하기 위해 (컨트롤러의 이름이 단수형이지만 루트에서 복수형을 의도 한 경우). 따라서, 이전 게시물의 맥락에서, 나는 복수형으로 컨트롤러를 명명했다. 예제 (Contoller 이름은 UserController에서 UsersController로 바뀌었다) -'app \ modules \ v1 \ controllers \ UsersController' – ReNoM