Ejemplo n.º 1
0
Archivo: Data.php Proyecto: seytar/psx
 /**
  * @return \PSX\Data\Transformer\TransformerManager
  */
 public function getTransformerManager()
 {
     $manager = new TransformerManager();
     $manager->addTransformer(new Transformer\Atom(), 16);
     $manager->addTransformer(new Transformer\Jsonx(), 9);
     $manager->addTransformer(new Transformer\Soap($this->get('config')->get('psx_soap_namespace')), 8);
     $manager->addTransformer(new Transformer\XmlArray(), 0);
     return $manager;
 }
Ejemplo n.º 2
0
 /**
  * Extracts the body from an http message and transforms the data into an
  * array structure
  *
  * @param \PSX\Http\MessageInterface $message
  * @param \PSX\Data\TransformerInterface $transformer
  * @param string $readerType
  * @return array
  */
 public function extract(MessageInterface $message, TransformerInterface $transformer = null, $readerType = null)
 {
     $contentType = $message->getHeader('Content-Type');
     $reader = $this->getRequestReader($contentType, $readerType);
     $data = $reader->read($message);
     // get transformer
     if ($transformer === null) {
         $transformer = $this->transformerManager->getTransformerByContentType($contentType);
     }
     if ($transformer instanceof TransformerInterface) {
         $data = $transformer->transform($data);
     }
     return $data;
 }