setData() public method

public setData ( $rel, null $data = null ) : Resource
$rel
$data null
return Resource
Esempio n. 1
0
 /**
  * Populates the given resource with the values in the form; overwriting any existing items.
  *
  * @param \Hal\Resource $resource
  * @param FormInterface $form
  *
  * @return void
  */
 public function populateResourceWithForm(Resource $resource, FormInterface $form)
 {
     $formData = $form->getData();
     $resource->setData(array('username' => $formData['username'], 'email' => $formData['email']));
 }
Esempio n. 2
0
    public function testBuild()
    {
        $parentRes = new Resource('/orders');
        $parentRes->setLink(new Link('/orders?page=2', 'next'))->setLink(new Link('/orders?id={order_id}', 'search'));
        $data = array('total' => '30.00', 'currency' => 'USD', 'status' => 'shipped', 'placed' => '2011-01-16');
        $embedded1 = new Resource('/orders/123');
        $embedded1->setData($data)->setLink(new Link('/customer/bob', 'customer', 'Bob Jones <*****@*****.**>'));
        $basketItems = array(array('sku' => 'ABC123', 'quantity' => 2, 'price' => '9.50'), array('sku' => 'GFZ111', 'quantity' => 1, 'price' => '11.00'));
        $basket = new Resource('/orders/123/basket');
        $basket->setData('items', $basketItems);
        $embedded1->setEmbedded('basket', $basket, true);
        //////////////////////////////////////////////
        $data = array('total' => '20.00', 'currency' => 'USD', 'status' => 'processing', 'placed' => '2011-01-16');
        $embedded2 = new Resource('/orders/124');
        $embedded2->setData($data)->setLink(new Link('/customer/jen', 'customer', 'Jen Harris <*****@*****.**>'));
        /////////////////////////////////////
        $basketItems = array(array('sku' => 'KLM222', 'quantity' => 1, 'price' => "9.00"), array('sku' => 'HHI50', 'quantity' => 1, 'price' => "11.00"));
        $basket2 = new Resource('/orders/124/basket');
        $basket2->setData('items', $basketItems);
        $embedded2->setEmbedded('basket', $basket2, true);
        $parentRes->setEmbedded('order', $embedded1)->setEmbedded('order', $embedded2);
        $actual = json_decode($parentRes);
        $JSON = <<<EOF
{
  "_links": {
    "self": { "href": "/orders" },
    "next": { "href": "/orders?page=2" },
    "search": { "href": "/orders?id={order_id}" }
  },
  "_embedded": {
    "order": [
      {
        "_links": {
          "self": { "href": "/orders/123" },
          "customer": { "href": "/customer/bob", "title": "Bob Jones <*****@*****.**>" }
        },
        "total": "30.00",
        "currency": "USD",
        "status": "shipped",
        "placed": "2011-01-16",
        "_embedded": {
          "basket": {
            "_links": {
              "self": { "href": "/orders/123/basket" }
            },
            "items": [
              {
                "sku": "ABC123",
                "quantity": 2,
                "price": "9.50"
              },{
                "sku": "GFZ111",
                "quantity": 1,
                "price": 11
              }
            ]
          }
        }
      },{
        "_links": {
          "self": { "href": "/orders/124" },
          "customer": { "href": "/customer/jen", "title": "Jen Harris <*****@*****.**>" }
        },
        "total": "20.00",
        "currency": "USD",
        "status": "processing",
        "placed": "2011-01-16",
        "_embedded": {
          "basket": {
            "_links": {
              "self": { "href": "/orders/124/basket" }
            },
            "items": [
              {
                "sku": "KLM222",
                "quantity": 1,
                "price": "9.00"
              },{
                "sku": "HHI50",
                "quantity": 1,
                "price": 11.00
              }
            ]
          }
        }
      }
    ]
  }
}
EOF;
        $expected = json_decode($JSON);
        $this->assertEquals($expected, $actual);
    }