RFE에 해결책이 있습니다. bin 명령과 PHP 버전을 사용하여 문제를 해결하세요
저는 Symfony 6의 새로운 추가 사항과 변경 사항을 테스트하기 위해 Symfony 5.4 및 PHP 7.4를 기반으로 하는 새로운 애플리케이션을 개발 중입니다. 콘솔의 엔터티 빌더를 사용하여 엔터티와 CRUD를 생성했는데 데이터베이스가 완벽하게 생성되었습니다. 그러나 생성기는 "클래식" 주석 대신 새로운 "속성"(https://symfony.com/doc/5.4/routing.html의 규칙에 따름)을 사용합니다. 생성된 경로를 보기 위해 콘솔을 통해 디버깅하면 컨트롤러에 정의된 경로가 표시되지 않습니다(물론 개발 모드에서 URL에 액세스할 때 404 오류가 표시됩니다). 속성을 클래식 주석으로 바꾸기로 결정했고 경로가 표시되고 404 오류가 사라졌습니다. 하지만 이제 생성기가 엔터티 관리자를 통한 논리 처리를 위해 저장소를 사용하고 처음부터 시작하기 위해 인덱스에 액세스할 때 다음 오류가 발생한다는 것을 발견했습니다.
으아악디버거에 표시된 코드 조각은 다음과 같습니다.
으아악엔티티는 다음으로 시작합니다:
으아악가장 큰 우려는 전체 CRUD를 다시 작성하기 위해 주석으로 완전히 돌아갈 수 없다는 것입니다. 이는 많은 작업이므로(이것이 바로 생성기 사용을 피하려고 하는 것입니다) 확실히 해야 할 일이 있습니다. 속성 내가 간과한 것. 다음은 아직 CRUD용으로 수정하지 않은 컨트롤러입니다. 누구나 라우터가 이러한 유형의 주석으로 정의된 경로를 찾을 수 없는 이유를 살펴보고 알아낼 수 있습니다.
으아악이게 다 무슨 문제인가요? 미리 감사드립니다.
저도 비슷한 상황에 부딪혔는데 제 경우에는 Traits(src/Entity/Traits 아래에 있음)의 잘못된 네임스페이스와 관련이 있었습니다.
이 특성은 사용되지도 않지만 여전히 이 오류가 발생하는 것 같습니다.
첫 번째 설명에서 언급했듯이 모든 bin/콘솔(make: 명령의 경우) 및 작성기 명령을 실행하려면 명령 앞에 php7.4를 붙여야 모든 것이 잘 작동하지만 "클래식" 주석의 경우에는 그렇지 않았습니다. php7.4의 컨트롤러에서 속성을 사용하는 방법을 찾으십시오. .php-version 파일은 개발 웹 서버를 시작하기 위해 Symfony-cli에서만 사용되는 것 같습니다. 앞으로 이런 상황이 발생할 수 있는 모든 사람에게 도움이 되기를 바랍니다.