$i, 'concurrency_count' => $concurrency, ]; $target_info = parse_url($target); $query_params = []; if (isset($target_info['query'])) { parse_str($target_info['query'], $query_params); } $query_params = array_merge($query_params, $params); $target_info['query'] = http_build_query($query_params); $target = unparse_url($target_info); $new_config_item = clone $config_item; $new_config_item['target'] = $target; $new_config_item['concurrency_id'] = $i; $request_list[] = $new_config_item; } return $request_list; } public static function initConfigItem($config) { $default = [ 'name' => 'http_demo', 'type' => 'site', 'target' => '', 'frequency' => 600, 'concurrency' => 1, ]; $data = array_merge($default, $config); if ($data['frequency'] < 0) { $data['frequency'] = 0; } $model_timer = new VirtualModel($data); return $model_timer; } }