Skip to content

Commit 5241a77

Browse files
slax0rrf3ath
authored andcommitted
Bump PHP version to 7 and add typehinting (#5)
* bump version in composer.json * add typehinting to the classes and interfaces * fix minor code styling errors * remove 5.* php versions from travis config * return values from mocks that fit the new typehints * attempt to fix travis hhvm php7 tests * ignore platform reqs when testing with hhvm * revert changes to travis config and ignore platform reqs * another attempt for hhvm php7 travis tests * keep "regular" php versions in "old" travis config format * added hhvm to allowed failures The HHVM team announced that HHVM will never truly support PHP7, in the light of this I have added the hhvm to the allowed failures list in traves. Source: http://hhvm.com/blog/2017/09/18/the-future-of-hhvm.html * fix allow_failures error in travis config
1 parent 6c3880c commit 5241a77

11 files changed

+69
-64
lines changed

.travis.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
language: php
22
php:
3-
- '5.5'
4-
- '5.6'
53
- '7.0'
64
- '7.1'
75
- hhvm
86
- nightly
97

8+
matrix:
9+
allow_failures:
10+
- php: hhvm
11+
1012
before_script:
1113
- composer install
1214

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
}
2626
],
2727
"require": {
28-
"php": ">=5.5.0",
28+
"php": ">=7.0.0",
2929
"ext-curl": "*"
3030
},
3131
"require-dev": {

src/Curl.php

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,31 +11,31 @@ class Curl implements CurlInterface
1111
/**
1212
* @param string $url URL
1313
*/
14-
public function __construct($url = null)
14+
public function __construct(string $url = null)
1515
{
1616
$this->init($url);
1717
}
1818

1919
/**
2020
* @inheritdoc
2121
*/
22-
public function init($url = null)
22+
public function init(string $url = null)
2323
{
2424
$this->handle = curl_init($url);
2525
}
2626

2727
/**
2828
* @inheritdoc
2929
*/
30-
public function errno()
30+
public function errno(): int
3131
{
3232
return curl_errno($this->handle);
3333
}
3434

3535
/**
3636
* @inheritdoc
3737
*/
38-
public function error()
38+
public function error(): string
3939
{
4040
return curl_error($this->handle);
4141
}
@@ -51,7 +51,7 @@ public function exec()
5151
/**
5252
* @inheritdoc
5353
*/
54-
public function getInfo($opt = 0)
54+
public function getInfo(int $opt = 0)
5555
{
5656
if (func_num_args() > 0) {
5757
return curl_getinfo($this->handle, $opt);
@@ -62,47 +62,47 @@ public function getInfo($opt = 0)
6262
/**
6363
* @inheritdoc
6464
*/
65-
public function setOpt($option, $value)
65+
public function setOpt(int $option, $value): bool
6666
{
6767
return curl_setopt($this->handle, $option, $value);
6868
}
6969

7070
/**
7171
* @inheritdoc
7272
*/
73-
public function setOptArray(array $options)
73+
public function setOptArray(array $options): bool
7474
{
7575
return curl_setopt_array($this->handle, $options);
7676
}
7777

7878
/**
7979
* @inheritdoc
8080
*/
81-
public function version($age = CURLVERSION_NOW)
81+
public function version(int $age = CURLVERSION_NOW): array
8282
{
8383
return curl_version($age);
8484
}
8585

8686
/**
8787
* @inheritdoc
8888
*/
89-
public function strError($errornum)
89+
public function strError(int $errornum): string
9090
{
9191
return curl_strerror($errornum);
9292
}
9393

9494
/**
9595
* @inheritdoc
9696
*/
97-
public function escape($str)
97+
public function escape(string $str): string
9898
{
9999
return curl_escape($this->handle, $str);
100100
}
101101

102102
/**
103103
* @inheritdoc
104104
*/
105-
public function unescape($str)
105+
public function unescape(string $str): string
106106
{
107107
return curl_unescape($this->handle, $str);
108108
}
@@ -118,7 +118,7 @@ public function reset()
118118
/**
119119
* @inheritdoc
120120
*/
121-
public function pause($bitmask)
121+
public function pause(int $bitmask): int
122122
{
123123
return curl_pause($this->handle, $bitmask);
124124
}

src/CurlInterface.php

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,21 @@ interface CurlInterface
99
* @param string $url URL
1010
* @return void
1111
*/
12-
public function init($url = null);
12+
public function init(string $url = null);
1313

1414
/**
1515
* @see curl_errno()
1616
*
1717
* @return int
1818
*/
19-
public function errno();
19+
public function errno(): int;
2020

2121
/**
2222
* @see curl_error()
2323
*
2424
* @return string
2525
*/
26-
public function error();
26+
public function error(): string;
2727

2828
/**
2929
* @see curl_exec()
@@ -38,7 +38,7 @@ public function exec();
3838
* @param int $opt CURLINFO_*
3939
* @return array|string
4040
*/
41-
public function getInfo($opt = 0);
41+
public function getInfo(int $opt = 0);
4242

4343
/**
4444
* @see curl_setopt()
@@ -47,47 +47,47 @@ public function getInfo($opt = 0);
4747
* @param mixed $value Option value
4848
* @return boolean
4949
*/
50-
public function setOpt($option, $value);
50+
public function setOpt(int $option, $value): bool;
5151

5252
/**
5353
* @see curl_setopt_array()
5454
*
5555
* @param array $options Options
5656
* @return boolean
5757
*/
58-
public function setOptArray(array $options);
58+
public function setOptArray(array $options): bool;
5959

6060
/**
6161
* @see curl_version()
6262
*
6363
* @param int $age
6464
* @return array
6565
*/
66-
public function version($age = CURLVERSION_NOW);
66+
public function version(int $age = CURLVERSION_NOW): array;
6767

6868
/**
6969
* @see curl_strerror()
7070
*
7171
* @param int $errornum
7272
* @return string
7373
*/
74-
public function strError($errornum);
74+
public function strError(int $errornum): string;
7575

7676
/**
7777
* @see curl_escape()
7878
*
7979
* @param string $str
8080
* @return string
8181
*/
82-
public function escape($str);
82+
public function escape(string $str): string;
8383

8484
/**
8585
* @see curl_unescape()
8686
*
8787
* @param string $str
8888
* @return string
8989
*/
90-
public function unescape($str);
90+
public function unescape(string $str): string;
9191

9292
/**
9393
* @see curl_reset()
@@ -102,7 +102,7 @@ public function reset();
102102
* @param int $bitmask
103103
* @return int
104104
*/
105-
public function pause($bitmask);
105+
public function pause(int $bitmask): int;
106106

107107
/**
108108
* Get curl handle

src/CurlMulti.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,63 +32,63 @@ public function getHandle()
3232
/**
3333
* @inheritdoc
3434
*/
35-
public function add(CurlInterface $curl)
35+
public function add(CurlInterface $curl): int
3636
{
3737
return curl_multi_add_handle($this->handle, $curl->getHandle());
3838
}
3939

4040
/**
4141
* @inheritdoc
4242
*/
43-
public function exec(&$stillRunning)
43+
public function exec(int &$stillRunning): int
4444
{
4545
return curl_multi_exec($this->handle, $stillRunning);
4646
}
4747

4848
/**
4949
* @inheritdoc
5050
*/
51-
public function getContent(CurlInterface $curl)
51+
public function getContent(CurlInterface $curl): string
5252
{
5353
return curl_multi_getcontent($curl->getHandle());
5454
}
5555

5656
/**
5757
* @inheritdoc
5858
*/
59-
public function infoRead(&$msgs = null)
59+
public function infoRead(int &$msgs = null): array
6060
{
6161
return curl_multi_info_read($this->handle, $msgs);
6262
}
6363

6464
/**
6565
* @inheritdoc
6666
*/
67-
public function remove(CurlInterface $curl)
67+
public function remove(CurlInterface $curl): int
6868
{
6969
return curl_multi_remove_handle($this->handle, $curl->getHandle());
7070
}
7171

7272
/**
7373
* @inheritdoc
7474
*/
75-
public function select($timeout = 1.0)
75+
public function select(float $timeout = 1.0): int
7676
{
7777
return curl_multi_select($this->handle, $timeout);
7878
}
7979

8080
/**
8181
* @inheritdoc
8282
*/
83-
public function strError($errornum)
83+
public function strError(int $errornum): string
8484
{
8585
return curl_multi_strerror($errornum);
8686
}
8787

8888
/**
8989
* @inheritdoc
9090
*/
91-
public function setOpt($opt, $val)
91+
public function setOpt(int $opt, $val): bool
9292
{
9393
return curl_multi_setopt($this->handle, $opt, $val);
9494
}

src/CurlMultiInterface.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,55 +18,55 @@ public function getHandle();
1818
* @param CurlInterface $curl Curl object to add
1919
* @return int
2020
*/
21-
public function add(CurlInterface $curl);
21+
public function add(CurlInterface $curl): int;
2222

2323
/**
2424
* @see curl_multi_exec()
2525
*
2626
* @param int $stillRunning Flag
2727
* @return int (One of CURLM_* constants)
2828
*/
29-
public function exec(&$stillRunning);
29+
public function exec(int &$stillRunning): int;
3030

3131
/**
3232
* @see curl_multi_getcontent()
3333
*
3434
* @param CurlInterface $curl
3535
* @return string
3636
*/
37-
public function getContent(CurlInterface $curl);
37+
public function getContent(CurlInterface $curl): string;
3838

3939
/**
4040
* @see curl_multi_info_read()
4141
*
4242
* @param int $msgs
4343
* @return array
4444
*/
45-
public function infoRead(&$msgs = null);
45+
public function infoRead(int &$msgs = null): array;
4646

4747
/**
4848
* @see curl_multi_remove_handle()
4949
*
5050
* @param CurlInterface $curl Handle to remove
5151
* @return int
5252
*/
53-
public function remove(CurlInterface $curl);
53+
public function remove(CurlInterface $curl): int;
5454

5555
/**
5656
* @see curl_multi_select()
5757
*
5858
* @param float $timeout Timeout
5959
* @return int
6060
*/
61-
public function select($timeout = 1.0);
61+
public function select(float $timeout = 1.0): int;
6262

6363
/**
6464
* @see curl_multi_strerror
6565
*
6666
* @param int $errornum
6767
* @return string
6868
*/
69-
public function strError($errornum);
69+
public function strError(int $errornum): string;
7070

7171
/**
7272
* @see curl_multi_setopt
@@ -75,5 +75,5 @@ public function strError($errornum);
7575
* @param mixed $val
7676
* @return boolean
7777
*/
78-
public function setOpt($opt, $val);
78+
public function setOpt(int $opt, $val): bool;
7979
}

src/CurlShare.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public function init()
2424
/**
2525
* @inheritdoc
2626
*/
27-
public function setOpt($opt, $val)
27+
public function setOpt(int $opt, $val): bool
2828
{
2929
return curl_share_setopt($this->handle, $opt, $val);
3030
}

src/CurlShareInterface.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,5 @@ public function init();
1717
* @param mixed $val
1818
* @return boolean
1919
*/
20-
public function setOpt($opt, $val);
20+
public function setOpt(int $opt, $val): bool;
2121
}

0 commit comments

Comments
 (0)