아래 그림과 같이 Symfony 6 프로젝트의 모든 컨트롤러를 /src/Web/Controller
로 옮겼습니다
으아악
내 routes.yaml
수정됨
으아악
이제 문제는 내 모든 경로의 이름에 app_web
라는 접두사가 붙는다는 것입니다. 이런 구조 때문인 것 같아요.
$ php bin/console debug:router
명령 출력은 다음과 같습니다.
으아악
여기서는 이름만 사용하고 싶습니다. post_index
이 접두사를 제거하는 방법은 무엇입니까?
경로 이름을 명시적으로 지정하지 않으면 경로 이름이 자동으로 지정됩니다.
이름은 컨트롤러 클래스 및 메서드의 정규화된 이름을 사용하여 생성됩니다(어떤 이유로 네임스페이스의 마지막 부분은 없지만 -
controller
).자동 생성된 이름을 사용하지 않으려면 경로 이름을 직접 지정하세요.
으아악내장 옵션을 사용하여 경로 집합에 접두어 를 추가할 수 있지만 자동으로 생성된 이름에서는 이를 제거하지 마세요.
이것이 "자동으로" 발생하는 사용 사례에 정말 중요하다면자신만의 루트 로더를 구축할 수도 있지만, 하지만 그건 좀 과잉이라고 말하고 싶습니다. 경로 이름을 적절하게 지정하거나 자동으로 생성된 이름을 사용하세요.
경로 이름을 명시적으로 지정하는 것이 일반적으로 더 나은 아이디어/연습입니다. 왜냐하면 다른 곳에서 경로 이름을 참조하면 컨트롤러를 다른 코드 구조로 리팩터링하도록 선택하더라도 이름이 동일하게 유지되기 때문입니다.