$property; } /** * Magic setter to save protected properties. * @param string $property * @param mixed $value */ public function __set($property, $value) { $this->$property = $value; } /** * Convert the object to an array. * @param array $expand * @param array $intersect * @return array */ public function toArray( array $expand = array(), array $intersect = array(), $showIdentifiers = false ) { $includeAll = empty($intersect); $data = array(); ($includeAll || isset($intersect['id'])) && $data['id'] = $this->id; ($includeAll || isset($intersect['damage'])) && $data['damage'] = $showIdentifiers ? $this->damage->id : $this->damage->toArray(); ($includeAll || isset($intersect['amount'])) && $data['amount'] = $this->amount; return $data; } /** * Convert the object to an array for synchronization. * @return array */ public function toSynchArray() { return array( 'id' => $this->id, 'name' => $this->name ); } /** * Populate from an array. * @param array $data */ public function fromArray($data = array()) { isset($data['id']) && $this->id = $data['id']; isset($data['stock']) && $this->stock = $data['stock']; isset($data['damage']) && $this->damage = $data['damage']; isset($data['amount']) && $this->amount = $data['amount']; } }