2012-08-12 4 views
0

ZF2가 RC 상태로 이동 했으므로 ZF2를 시작하려고합니다. 모든 것이 순조롭게 진행되지만 주석의 기본 네임 스페이스를 설정하여 @Doctrine\ORM\Mapping\Table 또는 @ORM\Table 대신 @Table을 사용할 수 있습니다.Doctrine 기본 Annotation Zend Framework 2의 네임 스페이스

Doctrine 모듈의 설명서를 readme on Github에서 읽는 것으로부터 독자에게 기본 네임 스페이스를 지정하거나 독자 클래스를 지정할 수있는 옵션이 없습니다. 이 옵션이이 시점에 단순히 누락 된 경우 누구에게 알 수 있습니까? 아니면 내가 보지 못하는 것이 있습니까?

답변

1

@Sam이 말했듯이 use 문은 주석 네임 스페이스를 처리하는 일반적인 방법입니다.

다른 주석 판독기를 사용하려면 DoctrineModule과 함께 제공되는 새로운 DriverFactory을 새로 작성하고 모듈 구성을 무시하여 새 팩토리가 사용되도록하십시오. (만약 여러분의 새 공장이 다른 사람들에게 유용하다고 생각한다면, DoctrineModule에 대한 홍보와 공유에 대해 자유롭게 얘기하십시오.)

+0

오, 고마워요. 나는 모듈이 공장 물건을하고 있다는 것을 몰랐다. 그게 내가 원했던거야. – Blake

1

내가 아는 한, 주석은 클래스의 사용 문을 처리하는 방식으로 정의됩니다. 현재 use Doctrine\ORM\Mapping as ORM을 사용하므로 주석은 @ORM과 그 이후의 모든 것을 간단히 연결합니다.

그래서 @ORM\TableDoctrime\ORM\Mapping\Table

내 생각 엔이됩니다 -하지만 난이 시험하지 않았다 - 당신이 @Table이 작동 것이라고 use Doctrine\ORM\Mapping\Table를 통해 표 클래스를 포함합니다. 그래도 단지 겸손한 추측. 앞에서 언급했듯이 ZF2 구현을위한 리소스가 너무 많지는 않지만 삶의 질적 특성은 항상 지속될 것입니다.)

+2

Doctrine \ Common \ Annotations \ SimpleAnnotationReader'를 표준'Doctrine \ Common \ Annotations \ AnnotationReader'를 사용하면 기본 네임 스페이스를 지정할 수 있습니다. 그렇게하면 독자는'Doctrine \ ORM \ Mapping'의 기본 네임 스페이스를 사용할 수 있고 모든 use 문없이'@ Table'을 사용할 수 있습니다. 내 진짜 질문은 어떻게'Doctrine \ Common \ Annotations \ AnnotationReader' 대신'Doctrine \ Common \ Annotations \ SimpleAnnotationReader'를 사용할 수 있는가하는 것입니다. 하지만 당신이 말했듯이, 편리한 옵션은 언제나 마지막에옵니다. – Blake

관련 문제