Meine configJMS Serializer ignoriert meine YML Entity Ausschlüsse
jms_serializer:
metadata:
auto_detection: true
directories:
NameOfBundle:
namespace_prefix: ""
path: "@VendorNameOfBundle/Resources/config/serializer"
Meine YML Datei mit dem Namen Entity.Project.yml
enthält
Vendor\NameOfBundle\Entity\Project:
exclusion_policy: ALL
properties:
id:
expose: true
ich den Serializer wie so bin Laden innerhalb eines Controllers
$serializer = SerializerBuilder::create()
->configureListeners(function(EventDispatcher $dispatcher) {
$dispatcher->addSubscriber(new ProjectSubscriber($this->container));
})
->addDefaultListeners()
->build();
Dies hat meine YML-Datei vollständig ignoriert und alle Felder aus dem Projekt verfügbar gemacht. Ich habe den Cache gelöscht.
Aber wenn ich diese verwenden, anstatt ohne den benutzerdefinierten Teilnehmer, dann sind die Ausschlüsse arbeiten
$serializer = $this->get("jms_serializer");
Auch das Hinzufügen explizit ein Verzeichnis nicht funktioniert entweder
$serializer = SerializerBuilder::create()
->configureListeners(function(EventDispatcher $dispatcher) {
$dispatcher->addSubscriber(new ProjectSubscriber($this->container));
})
->addDefaultListeners()
->addMetadataDir(realpath($this->get('kernel')->getRootDir()."/../") . '/src/Vendor/NameOfBundle/Resources/config/serializer')
->build();
Die docs sind nicht klar, wie diese Pfad sollte definiert sein. Die obige Methode führt zu keinem Fehler, zieht aber die YML-Dateien nicht an. Die folgenden Methodenfehler und sagt das Verzeichnis existiert nicht;
$serializer = SerializerBuilder::create()
->configureListeners(function(EventDispatcher $dispatcher) {
$dispatcher->addSubscriber(new ProjectSubscriber($this->container));
})
->addDefaultListeners()
->addMetadataDir('@VendorNameOfBundle/Resources/config/serializer')
->build();
Wie kann ich den JMS-Serializer Blick auf meiner YML Datei machen, um die Felder auszuschließen und auch die Abonnenten nutzen?
Ich habe auch versucht, das, meine geänderte Frage sehen. Das Hinzufügen des Verzeichnisses hat keinerlei Auswirkungen. Selbst wenn es das richtige Ziel ist. Ich bin völlig verloren. –
@JakeN hm .. wie ich sehe JMS Serializer Chaches Daten und lesen Sie es, haben Sie versucht, Testumgebung Cache zu löschen? 'php app/console cache: klar -e test' –
ich habe angst so, viele viele viele Male :-( –