Skip to content

Commit

Permalink
Fix PHP cross-version compatibility issue (PHP 7)
Browse files Browse the repository at this point in the history
I'm a little aghast that nobody has come across this before and that no bug reports have come in about this (or maybe they have, but I haven't identified them as such), but the code as was was not cross-version compatible with PHP 5 vs PHP 7 due to the Uniform Variable Handling introduced in PHP 7.0.

A detailed code sample demonstrating the issue can be found here: https://3v4l.org/T3MDQ

The current fix maintains the pre-PHP 7.0 behaviour, which I believe, as this is an older codebase, is the intended behaviour.
  • Loading branch information
jrfnl committed Oct 18, 2020
1 parent 6f0c974 commit 3e52edd
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions library/Requests.php
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,8 @@ protected static function get_transport($capabilities = array()) {

// Don't search for a transport if it's already been done for these $capabilities
if (isset(self::$transport[$cap_string]) && self::$transport[$cap_string] !== null) {
return new self::$transport[$cap_string]();
$class = self::$transport[$cap_string];
return new $class();
}
// @codeCoverageIgnoreEnd

Expand All @@ -214,7 +215,8 @@ protected static function get_transport($capabilities = array()) {
throw new Requests_Exception('No working transports found', 'notransport', self::$transports);
}

return new self::$transport[$cap_string]();
$class = self::$transport[$cap_string];
return new $class();
}

/**#@+
Expand Down

0 comments on commit 3e52edd

Please sign in to comment.