$f) { if (isset ($this->temp [$f])) { $fieldIsEmpty = false; return $this->temp [$f]; } } // field empty means the user has not sent a value for this Field, so we are // using the default value if ($fieldIsEmpty) { if ($default !== false) { return $default; } } } protected function validateRequiredFields($requiredFields = array()) { foreach ($requiredFields as $k => $field) { if ($this->{$field} === NULL) { throw (new Exception ("Field $field is required in " . get_class ($this))); die (); } } } /** * * * * Copy the values of the Entity to the array of aliases * The array of aliases must be defined. * * @return Array of alias with the Entity values */ public function getAliasDataArray() { $aAlias = array (); // get aliases from class $className = get_class ($this); if (method_exists ($className, 'GetAliases')) { $aliases = call_user_func (array ( $className, 'GetAliases' )); // $aliases = $className::GetAliases (); foreach ($this as $field => $value) if (isset ($aliases [$field])) { // echo "Field exists in Aliases: " . $field . "\n"; // echo "Alias Name:" . $aliases[$field] . "\n"; // echo "Alias value:" . $value . "\n"; $aAlias [$aliases [$field]] = $value; } } return $aAlias; } /** * * * * Set the data from array of alias to Entity * * @param $aAliasData array * of data of aliases */ public function setAliasDataArray($aAliasData) { // get aliases from class $className = get_class ($this); if (method_exists ($className, 'GetAliases')) { $aliases = call_user_func (array ( $className, 'GetAliases' )); // $aliases = $className::GetAliases (); foreach ($this as $field => $value) if (isset ($aliases [$field])) $this->{$field} = $aAliasData [$aliases [$field]]; } } /** * * * * Initialize object with values from $data. * The values from data use properties or alias array. * * @param * $data */ protected function initializeObject($data) { // get aliases from class $className = get_class ($this); $aliases = array (); $swAliases = false; if (method_exists ($className, 'GetAliases')) { $aliases = call_user_func (array ( $className, 'GetAliases' )); // $aliases = $className::GetAliases (); $swAliases = true; } // use object properties or aliases to initialize foreach ($this as $field => $value) if (isset ($data [$field])) { $this->$field = $data [$field]; } elseif ($swAliases && isset ($aliases [$field]) && isset ($data [$aliases [$field]])) { $this->$field = $data [$aliases [$field]]; } } public function serialize() { if (isset ($this->temp)) unset ($this->temp); return serialize ($this); } public function unserialize($str) { $className = get_class ($this); $data = unserialize ($str); return new $className ($data); } }