2014-01-21 81 views

回答

3

信息:

您可以檢查一個類(或對象)的服務的幫助下映射信息:

validator.mapping.class_metadata_factory

底層的類是:

Symfony\Component\Validator\Mapping\ClassMetadataFactory

該服務提供一種方法,getMetadataFor(),允許你獲得了一類(或對象)的活性映射元數據。

這個方法返回一個實例...

Symfony\Component\Validator\Mapping\ClassMetadata

...提供了一個getPropertyMetadata(string $property)方法,返回給定屬性名稱的元數據。

用法示例:

裏面一個控制器(或任何其他ContainerAware實例),你可以這樣做:

$factory   = $this->container->get('validator.mapping.class_metadata_factory'); 
$classMetadata = $factory->getMetadataFor('Your\Bundle\Entity\Name'); 
$propertyMetadata = $classMetadata->getPropertyMetadata('propertyName'); 
+0

謝謝@nifr。這很棒 – user3009816

0

查看Supported Validation Constraints Reference名單從Symfony的網站

+0

感謝您的迴應,但我試圖找到給定屬性的所有約束。我不確定約束參考頁如何幫助 – user3009816

+0

也許它[list](http://api.symfony.com/2.4/Symfony/Component/Validator/Constraints.html)將會對您有用嗎? –

+0

@Victor他正在嘗試調試一個實體...他想知道哪些屬性具體映射到哪個驗證約束,而不是通常存在哪些約束。因此,你目前的答案可悲的是不提供任何幫助:) – nifr

0

你可以試試瓢蟲包。這是非常容易使用和詳細顯示,很好地查看對象內的所有屬性和信息。