Пример #1
0
 /**
  * @param integer $parameter_id
  * @param bool $force_new_instance
  * @return object
  */
 public static function get_instance($parameter_id, $force_new_instance = false)
 {
     if (is_numeric($parameter_id) and $parameter_id > 0) {
         if (ParameterTemplateParameter::is_template_parameter($parameter_id) == true) {
             if ($force_new_instance == true) {
                 return new ParameterTemplateParameter($parameter_id);
             } else {
                 if (self::$parameter_object_array[$parameter_id]) {
                     return self::$parameter_object_array[$parameter_id];
                 } else {
                     $parameter = new ParameterTemplateParameter($parameter_id);
                     self::$parameter_object_array[$parameter_id] = $parameter;
                     return $parameter;
                 }
             }
         } elseif (ParameterNonTemplateParameter::is_non_template_parameter($parameter_id) == true) {
             if ($force_new_instance == true) {
                 return new ParameterNonTemplateParameter($parameter_id);
             } else {
                 if (self::$parameter_object_array[$parameter_id]) {
                     return self::$parameter_object_array[$parameter_id];
                 } else {
                     $parameter = new ParameterNonTemplateParameter($parameter_id);
                     self::$parameter_object_array[$parameter_id] = $parameter;
                     return $parameter;
                 }
             }
         } else {
             return null;
         }
     } else {
         return new ParameterTemplateParameter(null);
     }
 }