Example of POST vpz/input in PHP language¶
For the simulator ‘wwdm.vpz’ whose Id is 266, use the PHP code into a php tag :
- <?php
- … PHP code …
?>
Example illustrating :
modifying begin,
modifying duration,
modifying some parameters with ‘pars’,
value ‘all’ as ‘parselect’,
‘tree’ as style of presentation,
‘json’ as format,
with ‘application/json’ as ‘Content-Type’
Memo
# PHP code : # send POST request and return response datas function send_post_and_receive($url, $inputdata) { # ob_start(); $c = curl_init(); # curl_setopt($c, CURLOPT_POST, TRUE); curl_setopt($c, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); # curl_setopt($c, CURLOPT_URL, $url); # # to follow redirect curl_setopt($c, CURLOPT_FOLLOWLOCATION, True); # $json_inputdata = json_encode($inputdata); curl_setopt($c, CURLOPT_POSTFIELDS, $json_inputdata); # curl_exec($c); $buffer_str = ob_get_contents(); ob_end_clean(); # $responsedata = json_decode($buffer_str, TRUE); curl_close($c); return $responsedata; }# PHP code : # content of simulation input information in 'tree' style of presentation # (vpzinput) function content_simulation_inputs_tree($vpzinput){ # # duration if (array_key_exists('vleduration', $vpzinput)){ $vleduration = $vpzinput['vleduration']; $duration_value = $vleduration['value']; print ("duration value : ".$duration_value."<br />"); } # # begin if (array_key_exists('vlebegin', $vpzinput)){ $vlebegin = $vpzinput['vlebegin']; $begin_value = $vlebegin['value']; print ("begin value : ".$begin_value."<br />"); } # # conditions and parameters if (array_key_exists('vlecond_list', $vpzinput)){ $conds = $vpzinput['vlecond_list']; foreach ($conds as $cond){ $cond_verbose_name = $cond['verbose_name']; $cond_id = $cond['id']; $cond_name = $cond['name']; print ("\nCondition name ".$cond_name."<br />"); print ("List of its parameters (id, cname, pname, type, value, selected, verbose_name) :"."<br />"); $pars = $cond['vlepar_list']; foreach ($pars as $par){ $par_verbose_name = $par['verbose_name']; $par_id = $par['id']; $par_cname = $par['cname']; $par_pname = $par['pname']; $par_type = $par['type']; $par_value = $par['value']; $par_selected = $par['selected']; print_r ("- ".$par_id.' '.$par_cname.' '.$par_pname.' '.$par_type.' '.$par_value.' '.$par_selected.' '.$par_verbose_name."<br />"); } } } # # views and output datas identity if (array_key_exists('vleview_list', $vpzinput)){ $views = $vpzinput['vleview_list']; foreach ($views as $view){ $view_verbose_name = $view['verbose_name']; $view_id = $view['id']; $view_name = $view['name']; $view_type = $view['type']; $view_timestep = $view['timestep']; $view_output_format = $view['output_format']; $view_output_location = $view['output_location']; $view_output_name = $view['output_name']; $view_output_plugin = $view['output_plugin']; print ("\nView name ".$view_name."<br />"); print ("List of its output datas (id, vname, oname, shortname, selected, verbose_name) :"."<br />"); $outs = $view['vleout_list']; foreach ($outs as $out){ $out_verbose_name = $out['verbose_name']; $out_id = $out['id']; $out_vname = $out['vname']; $out_oname = $out['oname']; $out_shortname = $out['shortname']; $out_selected = $out['selected']; print_r ("- ".$out_id.' '.$out_vname.' '.$out_oname.' '.$out_shortname.' '.$out_selected.' '.$out_verbose_name."<br />"); } } } # }# PHP code : ####################### # request and response ####################### $inputdata = ["vpz"=>266, "mode"=>"tree", "format"=>"json"]; $inputdata["duration"] = 6; $inputdata["begin"] = 2453982.0; $inputdata["parselect"] = "all"; # some parameters modification with 'pars' $parameter_A = ["selection_name"=>"cond_wwdm.A", "cname"=>"cond_wwdm", "pname"=>"A", "value"=>0.0064]; $parameter_Eb = ["selection_name"=>"cond_wwdm.Eb", "cname"=>"cond_wwdm", "pname"=>"Eb", "value"=>1.86]; $pars = array($parameter_A, $parameter_Eb); $inputdata["pars"] = $pars; $responsedata = send_post_and_receive($url="http://erecord.toulouse.inra.fr:8000/vpz/input/", $inputdata=$inputdata); ####################################################### # responsedata in case of 'tree' style of presentation ####################################################### # id as VpzInput if (array_key_exists('id', $responsedata)){ $id = $responsedata['id']; content_simulation_inputs_tree($vpzinput=$responsedata); }