Skip to content
This repository was archived by the owner on Jan 21, 2020. It is now read-only.

Commit 45e01d0

Browse files
committed
Merge pull request #30 from xtreamwayz/feature/add-query-params-and-fragment
Add query params, fragment and reuse route result Conflicts: composer.lock
2 parents c87bd9c + af0ce96 commit 45e01d0

File tree

4 files changed

+59
-28
lines changed

4 files changed

+59
-28
lines changed

composer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@
2121
"php": "^5.5 || ^7.0",
2222
"container-interop/container-interop": "^1.1",
2323
"psr/http-message": "^1.0",
24-
"zendframework/zend-expressive-helpers": "^1.1 || ^2.0",
24+
"zendframework/zend-expressive-helpers": "^3.0.0-dev",
25+
"zendframework/zend-expressive-router": "^2.0.0-dev",
2526
"zendframework/zend-expressive-template": "^1.0.1",
2627
"zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3",
2728
"zendframework/zend-view": "^2.8.1"

composer.lock

Lines changed: 23 additions & 20 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/UrlHelper.php

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,24 @@ public function __construct(BaseHelper $helper)
2828
/**
2929
* Proxies to `Zend\Expressive\Helper\UrlHelper::generate()`
3030
*
31-
* @param string $route
32-
* @param array $params
31+
* @param string $routeName
32+
* @param array $routeParams
33+
* @param array $queryParams
34+
* @param string $fragmentIdentifier
35+
* @param array $options Can have the following keys:
36+
* - router (array): contains options to be passed to the router
37+
* - reuse_result_params (bool): indicates if the current RouteResult
38+
* parameters will be used, defaults to true
39+
*
3340
* @return string
3441
*/
35-
public function __invoke($route = null, $params = [])
36-
{
37-
return $this->helper->generate($route, $params);
42+
public function __invoke(
43+
$routeName = null,
44+
array $routeParams = [],
45+
array $queryParams = [],
46+
$fragmentIdentifier = '',
47+
array $options = []
48+
) {
49+
return $this->helper->generate($routeName, $routeParams, $queryParams, $fragmentIdentifier, $options);
3850
}
3951
}

test/UrlHelperTest.php

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
namespace ZendTest\Expressive\ZendView;
1111

12-
use ArrayObject;
1312
use PHPUnit_Framework_TestCase as TestCase;
1413
use Zend\Expressive\Helper\UrlHelper as BaseHelper;
1514
use Zend\Expressive\ZendView\UrlHelper;
@@ -28,8 +27,24 @@ public function createHelper()
2827

2928
public function testInvocationProxiesToBaseHelper()
3029
{
31-
$this->baseHelper->generate('resource', ['id' => 'sha1'])->willReturn('/resource/sha1');
30+
$this->baseHelper->generate('resource', ['id' => 'sha1'], [], '', [])->willReturn('/resource/sha1');
3231
$helper = $this->createHelper();
3332
$this->assertEquals('/resource/sha1', $helper('resource', ['id' => 'sha1']));
3433
}
34+
35+
public function testUrlHelperAcceptsQueryParametersFragmentAndOptions()
36+
{
37+
$this->baseHelper->generate(
38+
'resource',
39+
['id' => 'sha1'],
40+
['foo' => 'bar'],
41+
'fragment',
42+
['reuse_result_params' => true]
43+
)->willReturn('PATH');
44+
$helper = $this->createHelper();
45+
$this->assertEquals(
46+
'PATH',
47+
$helper('resource', ['id' => 'sha1'], ['foo' => 'bar'], 'fragment', ['reuse_result_params' => true])
48+
);
49+
}
3550
}

0 commit comments

Comments
 (0)