setOptions($options); } } public function __set($name, $value) { $method = 'set' . $name; if (('mapper' == $name) || !method_exists($this, $method)) { throw new Exception('Invalid membership property'); } $this->$method($value); } public function __get($name) { $method = 'get' . $name; if (('mapper' == $name) || !method_exists($this, $method)) { throw new Exception('Invalid membership property'); } return $this->$method(); } public function setOptions(array $options) { $methods = get_class_methods($this); foreach ($options as $key => $value) { $method = 'set' . ucfirst($key); if (in_array($method, $methods)) { $this->$method($value); } } return $this; } public function getID() { return $this->_membershipID; } public function setID($_membershipID) { $this->_membershipID = $_membershipID; return $this; } public function getGroupID() { return $this->_groupID; } public function setGroupID($_groupID) { $this->_groupID = $_groupID; return $this; } public function getRoleID() { return $this->_roleID; } public function setRoleID($_roleID) { $this->_roleID = $_roleID; return $this; } public function getPersonID() { return $this->_personID; } public function setPersonID($_personID) { $this->_personID = $_personID; return $this; } }