Completed
Push — master ( 59dd65...1b89b4 )
by Christofer
02:20
created

Curl::cUrlMulti()   A

Complexity

Conditions 5
Paths 8

Size

Total Lines 30
Code Lines 20

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 20
CRAP Score 5

Importance

Changes 0
Metric Value
cc 5
eloc 20
nc 8
nop 1
dl 0
loc 30
ccs 20
cts 20
cp 1
crap 5
rs 9.2888
c 0
b 0
f 0
1
<?php
2
3
namespace Chai17\Models;
4
5
class Curl
6
{
7
8 3
    public function cUrl($url)
9
    {
10 3
        $result = curl_init($url);
11 3
        curl_setopt($result, CURLOPT_RETURNTRANSFER, true);
12 3
        $json = curl_exec($result);
13 3
        curl_close($result);
14 3
        return $json;
15
    }
16
17 1
    public function cUrlMulti(array $url)
18
    {
19 1
        $chandle= [];
20 1
        $mhandle = curl_multi_init();
21 1
        $count = count($url);
22 1
        for ($i=0; $i < $count; $i++) {
23 1
            array_push($chandle, curl_init($url[$i]));
24 1
            curl_setopt($chandle[$i], CURLOPT_RETURNTRANSFER, true);
25 1
            curl_multi_add_handle($mhandle, $chandle[$i]);
26
        }
27
28 1
        $running = null;
29
        do {
30 1
            curl_multi_exec($mhandle, $running);
31 1
        } while ($running);
32
33
        //close the handles
34 1
        $count = count($chandle);
35 1
        for ($i=0; $i < $count; $i++) {
36 1
            curl_multi_remove_handle($mhandle, $chandle[$i]);
37
        }
38
39 1
        curl_multi_close($mhandle);
40
41 1
        $json = [];
42 1
        $count = count($chandle);
43 1
        for ($i=0; $i < $count; $i++) {
44 1
            array_push($json, curl_multi_getcontent($chandle[$i]));
45
        }
46 1
        return $json;
47
    }
48
}
49