>  기사  >  백엔드 개발  >  번들 이름에는 항상 공급업체 이름이 포함되어야 합니까?

번들 이름에는 항상 공급업체 이름이 포함되어야 합니까?

WBOY
WBOY원래의
2016-08-18 09:15:351481검색

Symfony3에서 php bin/console generate:bundle을 실행하여 번들을 생성할 때 콘솔은 생성할 번들이 향후 공유될 것인지 묻습니다.

no을 선택하면 생성 후의 번들 디렉토리는 src/UserBundle과 같습니다. yes을 선택하면 생성 후의 디렉토리는 src/XX/UserBundle

과 같습니다.

단, 생성 시 공유 계획이 없을 수도 있습니다. 향후 공유할 계획이라면 namespace 파일과 해당 구성 파일을 재구성해야 합니다.

그렇다면 번들이 생성될 때 공급업체 이름이 항상 포함되어야 합니까?

예를 들어 src/XX/UserBundle 또는 src/XX/Bundle/UserBundle

이것의 부작용은 현재 번들을 공유하지 않을 때 애플리케이션 소스 코드에 추가 namespace가 있다는 것입니다. 또는 serviceroute과 같이 xx_user.user_manager

을 정의할 때 추가 접두사가 있습니다.

이를 통해 향후 현재 번들을 공유할 때 디렉터리 구조, 네임스페이스, 경로 및 서비스 네임스페이스 문제 변경에 대해 걱정할 필요가 없습니다.

어떻게 생각하세요?

답글 내용:

Symfony3에서 php bin/console generate:bundle을 실행하여 번들을 생성할 때 콘솔은 생성할 번들이 향후 공유될 것인지 묻습니다.

no을 선택하면 생성 후의 번들 디렉토리는 src/UserBundle과 같습니다. yes을 선택하면 생성 후의 디렉토리는 src/XX/UserBundle

과 같습니다.

단, 생성 시 공유 계획이 없을 수도 있습니다. 향후 공유할 계획이라면 namespace 파일과 해당 구성 파일을 재구성해야 합니다.

그렇다면 번들 생성 시 공급업체 이름이 항상 포함되어야 할까요?

예를 들어 src/XX/UserBundle 또는 src/XX/Bundle/UserBundle

이것의 부작용은 현재 번들을 공유하지 않을 때 애플리케이션 소스 코드에 추가 namespace가 있다는 것입니다. 또는 serviceroute과 같이 xx_user.user_manager

을 정의할 때 추가 접두사가 있습니다.

이를 통해 향후 현재 번들을 공유할 때 디렉터리 구조, 네임스페이스, 경로 및 서비스 네임스페이스 문제 변경에 대해 걱정할 필요가 없습니다.

어떻게 생각하세요?

왜 VendorName인가요?

VendorName은 서로 다른 Vendor의 동일한 BundleName과의 충돌을 피하기 위한 것입니다. 간단히 말해 이름 충돌을 피하기 위한 것입니다. 예를 들어 Foo와 Bar라는 두 Vendor가 UserBundle을 생성해야 한다면 VendorName이 충돌을 일으키게 됩니다. 추가되지 않았습니다. 이해하기 어렵지 않나요?

vendorName은 언제 포함되어야 합니까?

번들이 공유된 타사 번들(일반적으로 작성기 패키지로 게시해야 함)이 아닌 현재 프로젝트에서만 사용되는 경우 VendorName은 필요하지 않으며, 그렇지 않으면 VendorName이 필요합니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.