$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 ); } }