Skip to content

Commit 9c50758

Browse files
Diego CabrejasBen Batschelet
Diego Cabrejas
authored and
Ben Batschelet
committed
magento-engcom/php-7.2-support#74: Eliminate usage of Zend_Uri from Magento 2 Open Source
- Replacing usages of Zend_Uri classes with Zend Uri clases from ZF-3. - Removed Zend_Uri typehints that were never used, a common pattern I saw was that the Zend_Uri class was typehinted along with a type string but Magento always passes a string to the method so the Zend_Uri could safely be removed. Would be good to know how to run static test to make sure 100%.
1 parent e783ec7 commit 9c50758

File tree

7 files changed

+19
-14
lines changed

7 files changed

+19
-14
lines changed

app/code/Magento/Store/Model/Store.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
use Magento\Framework\Url\ScopeInterface as UrlScopeInterface;
1919
use Magento\Framework\UrlInterface;
2020
use Magento\Store\Api\Data\StoreInterface;
21+
use Zend\Uri\UriFactory;
2122

2223
/**
2324
* Store model
@@ -801,7 +802,7 @@ public function isCurrentlySecure()
801802
return false;
802803
}
803804

804-
$uri = \Zend_Uri::factory($secureBaseUrl);
805+
$uri = UriFactory::factory($secureBaseUrl);
805806
$port = $uri->getPort();
806807
$serverPort = $this->_request->getServer('SERVER_PORT');
807808
$isSecure = $uri->getScheme() == 'https' && isset($serverPort) && $port == $serverPort;

dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_classes.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4234,5 +4234,6 @@
42344234
'Magento\Elasticsearch\Test\Unit\Model\SearchAdapter\ConnectionManagerTest',
42354235
'Magento\Elasticsearch\Test\Unit\SearchAdapter\ConnectionManagerTest'
42364236
],
4237-
['Zend_Feed', 'Zend\Feed']
4237+
['Zend_Feed', 'Zend\Feed'],
4238+
['Zend_Uri', 'Zend\Uri\Uri']
42384239
];

lib/internal/Magento/Framework/HTTP/Adapter/Curl.php

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ public function connect($host, $port = 80, $secure = false)
154154
* Send request to the remote server
155155
*
156156
* @param string $method
157-
* @param \Zend_Uri_Http|string $url
157+
* @param string $url
158158
* @param string $http_ver
159159
* @param array $headers
160160
* @param string $body
@@ -163,9 +163,6 @@ public function connect($host, $port = 80, $secure = false)
163163
*/
164164
public function write($method, $url, $http_ver = '1.1', $headers = [], $body = '')
165165
{
166-
if ($url instanceof \Zend_Uri_Http) {
167-
$url = $url->getUri();
168-
}
169166
$this->_applyConfig();
170167

171168
// set url to post to

lib/internal/Magento/Framework/HTTP/ZendClient.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class ZendClient extends \Zend_Http_Client
2121
protected $_urlEncodeBody = true;
2222

2323
/**
24-
* @param null|\Zend_Uri_Http|string $uri
24+
* @param null|string $uri
2525
* @param null|array $config
2626
*/
2727
public function __construct($uri = null, $config = null)

lib/internal/Magento/Framework/Oauth/Helper/Request.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
namespace Magento\Framework\Oauth\Helper;
77

88
use Magento\Framework\App\RequestInterface;
9+
use Zend\Uri\UriFactory;
910

1011
class Request
1112
{
@@ -95,7 +96,7 @@ protected function _processRequest($authHeaderValue, $contentTypeHeader, $reques
9596
}
9697
$protocolParamsNotSet = !$protocolParams;
9798

98-
$queryString = \Zend_Uri_Http::fromString($requestUrl)->getQuery();
99+
$queryString = UriFactory::factory($requestUrl)->getQuery();
99100
$this->_extractQueryStringParams($protocolParams, $queryString);
100101

101102
if ($protocolParamsNotSet) {

lib/internal/Magento/Framework/Url/Validator.php

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
*/
1212
namespace Magento\Framework\Url;
1313

14+
use Zend\Uri\UriFactory;
15+
1416
class Validator extends \Zend_Validate_Abstract
1517
{
1618
/**#@+
@@ -45,11 +47,14 @@ public function isValid($value)
4547
{
4648
$this->_setValue($value);
4749

48-
if (!\Zend_Uri::check($value)) {
49-
$this->_error(self::INVALID_URL);
50-
return false;
51-
}
50+
try {
51+
$uri = UriFactory::factory($value);
52+
if ($uri->isValid()) {
53+
return true;
54+
}
55+
} catch (Exception $e) {/** left empty */}
5256

53-
return true;
57+
$this->_error(self::INVALID_URL);
58+
return false;
5459
}
5560
}

lib/internal/Magento/Framework/Webapi/Request.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class Request extends HttpRequest implements RequestInterface
3434
* @param StringUtils $converter
3535
* @param AreaList $areaList
3636
* @param ScopeInterface $configScope
37-
* @param null|string|\Zend_Uri $uri
37+
* @param null|string $uri
3838
*/
3939
public function __construct(
4040
CookieReaderInterface $cookieReader,

0 commit comments

Comments
 (0)