Как создать $ doctrineExtractor в Symfony 2.8?

#php #symfony #doctrine #extractor

#php #symfony #доктрина #экстрактор

Вопрос:

Как создать $ doctrineExtractor в Symfony 2.8? Для этого требуется ClassMetadataFactory в конструкторе, но я не понимаю, как его создать?

Я хочу получить информацию о свойстве объекта. Кроме того, я хочу понять, где и как использовать SerializerExtractor?

 <?php  
// xController; 

use SymfonyComponentPropertyInfoPropertyInfoExtractor;
use SymfonyComponentPropertyInfoExtractorReflectionExtractor; 
use SymfonyComponentPropertyInfoExtractorPhpDocExtractor;
use SymfonyComponentPropertyInfoExtractorSerializerExtractor;
use SymfonyBridgeDoctrinePropertyInfoDoctrineExtractor;
use SymfonyComponentSerializerMappingFactoryClassMetadataFactory;

use SymfonyComponentHttpFoundationRequest;
use SymfonyBundleFrameworkBundleControllerController;
use SensioBundleFrameworkExtraBundleConfigurationMethod;
use SensioBundleFrameworkExtraBundleConfigurationRoute;
use SensioBundleFrameworkExtraBundleConfigurationTemplate;

namespace MeetingBundleController;
/**  * @Route("/x") */
class xController extends Controller {

     * @Route("/", name="x_prop")
     * @Method("GET|POST")
     * @Template("MeetingBundle:help:prop.html.twig")
     */
    public function propAction() {

$reflectionExtractor = new ReflectionExtractor();
$phpDocExtractor = new PhpDocExtractor();
$doctrineExtractor = new DoctrineExtractor(); //how to contruct here ??
$propertyInfo = new PropertyInfoExtractor(
    array($reflectionExtractor),
    array($doctrineExtractor, $phpDocExtractor, $reflectionExtractor),
    array($phpDocExtractor),
    array($reflectionExtractor) );
    $propertyInfo->getProperties($entityName);
    print_r($propertyInfo);
..
}}
  

Комментарии:

1. кажется, решение здесь http://symfony.com/doc/current/components/property_info.html

2. ` используйте Symfony Bridge Doctrine PropertyInfo DoctrineExtractor;` use SymfonyComponentSerializerMappingFactory;ClassMetadataFactory; а затем в контроллере $doctrineExtractor = new DoctrineExtractor($em->getMetadataFactory()); из [ symfony.com/doc/current/components/property_info.html ]