2017-12-11 33 views
0

이전 심포니 프로젝트의 코드를 리팩토링해야합니다. 나는 템플렛 공급자 같이 무언가가있다. 각 템플릿은 자체 폼, 나뭇 가지 템플릿, 공급자 (템플릿 이름과 나뭇 가지 파일의 경로가 있음) 및 services.yml과 별도의 묶음입니다. 이제는 하나의 번들에 넣을 수 있으며, 최선의 방법으로 어떻게 할 수 있는지 조언이 필요합니다. 각 번들에는 여전히 나뭇 가지 파일이 별도로 있어야합니다 (서식 파일 유형 및 양식의 데이터에 의존하는 스크립트가 있음). 그러나 어쩌면 동적 인 방식으로 양식을 생성하는 자동화 도구가 있습니다 (양식에는 ID가있는 필드가 하나뿐입니다). 자신의 양식으로 템플릿을 생성하는 시스템과 이러한 양식의 변수를 사용하는 나뭇 가지 파일을 어떻게 설계 하시겠습니까? 불행히도 프로젝트의 소스 코드를 제공 할 수 없습니다. 인사말심포니 프로젝트의 오래된 기능을 리팩토링하십시오.

답변

0

재배포하려는 패키지를 만들지 않는다면 Symfony 3.4에서는 번들이 사용되지 않고 Symfony 4에서는 이벤트가 비활성화됩니다.

중요한 경우 다른 네임 스페이스에서 코드를 분리하는 것이 좋습니다.

나뭇 가지 템플릿의 경우 Symfony 3.4에서 프로젝트 디렉토리의 루트 인 templates/ 디렉토리에 저장할 수 있습니다. 다시 필요한 경우 다른 네임 스페이스에 맞는 다른 하위 디렉토리에 저장할 수 있습니다.

저자의 블로그를 참조하십시오 : Symfony 4: Directory Structure | Articles - Fabien Potencier

[편집] CERAD의 댓글을, 내가 잘못했다. 번들은 더 이상 사용되지 않거나 불일치되지 않습니다. New in Symfony 3.4: Deprecated bundle inheritance (Symfony Blog)

+0

아니, 번들은 둘 다 3.4 감가 상각을하지 않으며 S4에서 사용할 수 있습니다 : 그것은

여기에서 자세한 내용을 참조하십시오 심포니 4에 심포니 3.4 및 비활성화에서 더 이상 사용되지 않습니다 번들 상속입니다. 꽤 많은 시간 동안 응용 프로그램 코드를 번들로 나누지 않는 것이 좋았지 만 디자인에서 호출 할 경우에도 그렇게 할 수 있습니다. – Cerad