/** * add a PDopeParameter object to the parameter collection * * @example * <code> * $pdo->add_parameter("id", "STRING"); * $pdo->add_parameter("active", "BOOLEAN"); * </code> * * @return VOID * * @since 2016-5-21 * @author Jim Harney <*****@*****.**> **/ public function add_parameter($name, $type = NULL) { // if we are not given a type, look it up in model_object if (empty($type)) { $type = $this->model_object->get_data_property($name)->get_type(); } // check for and handle special type UUID if ($type == "UUID") { $value = \PDope\Utilities::UUID(); // also write this back to the model object $this->model_object->{$name} = $value; } else { $value = $this->model_object->{$name}; } $this->log_debug("add_parameter() name [{$name}], type [{$type}], value [{$value}]"); // if parameter already exists, then overwrite it $exists = FALSE; foreach ($this->parameters as $parameter) { if ($parameter->name == $name) { // $this->log_debug("add_parameter() overwriting existing parameter name [$name], type [$type]"); $exists = TRUE; $parameter->type = $type; } } if (!$exists) { // $this->log_debug("add_parameter() adding parameter name [$name], type [$type]"); $parameter = new \PDope\Parameter($name, $type); $this->parameters[] = $parameter; } }