コード例 #1
0
ファイル: Statement.php プロジェクト: jimonade/pdope
 /**
  * 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;
     }
 }