예제 #1
0
파일: Item.php 프로젝트: wisoot/restify
 /**
  * convert method
  *
  * @param $entity
  * @param array $embeds
  * @return array
  */
 public function transform($entity, array $embeds = [])
 {
     $data = $this->transformer->transform($entity);
     foreach ($embeds as $embed) {
         if (isset($entity->{$embed->name}) && method_exists($this->transformer, $embed->name)) {
             $resource = $this->transformer->{$embed->name}();
             $data[$embed->name] = $resource->transform($entity->{$embed->name}, $embed->children);
         }
     }
     return $data;
 }
예제 #2
0
 /**
  * transformOnce method
  *
  * @param mixed $input
  * @param array $embeds
  * @return array
  */
 protected function transformOnce($input, array $embeds = [])
 {
     if ($this->transformer === null) {
         $this->transformer = $this->provider->willTransform($input)->get();
     }
     return $this->transformer->transform($input, $embeds);
 }
예제 #3
0
 public function scrap()
 {
     // $html = file_get_contents(base_path('resources/views/dse.php'));
     $downloader = new Downloader();
     $parser = new Parser();
     $transformer = new Transformer();
     $html = $downloader->download();
     $data = $parser->parse($html);
     $data = $transformer->transform($data);
     return $data;
 }
예제 #4
0
 public function testTransform()
 {
     $map = array('id' => 'productId', 'name' => 'name', 'price' => 'unitPrice');
     $product = new Fixtures\Product();
     $product->setId('product-1');
     $product->setName('T-Shirt');
     $product->setPrice(44.99);
     $transformer = new Transformer();
     $transformer->setTransformationMap($map);
     $lineItem = $transformer->transform($product, 'Transform\\Fixtures\\LineItem');
     $this->assertEquals($product->getId(), $lineItem->getProductId());
     $this->assertEquals($product->getName(), $lineItem->getName());
     $this->assertEquals($product->getPrice(), $lineItem->getUnitPrice());
 }
예제 #5
0
function process($tag)
{
    global $dir;
    if (!file_exists($dir . $tag)) {
        return false;
    }
    $file = $dir . $tag;
    $handle = fopen($file, "r");
    $tokenstream = (new Tokenizer($handle))->tokenize();
    $parser = new Parser();
    $parser->parse($tokenstream);
    global $tree;
    $xml = $tree->toXML($file);
    $info = pathinfo($file);
    $xmlFile = $info["dirname"] . "/" . $info["filename"] . ".xml";
    $transformer = new Transformer($xmlFile);
    echo $transformer->transform();
}
예제 #6
0
 public function transform($object)
 {
     $seedData = parent::transform($object);
     $seedData['key'] = $object->id;
     return $seedData;
 }