AdamStipak\RestRoute::useURLModuleVersioning PHP Method

useURLModuleVersioning() public method

public useURLModuleVersioning ( string $versionRegex, array $moduleMapping )
$versionRegex string
$moduleMapping array
    public function useURLModuleVersioning($versionRegex, array $moduleMapping)
    {
        $this->useURLModuleVersioning = TRUE;
        $this->versionRegex = $versionRegex;
        $this->versionToModuleMapping = $moduleMapping;
        return $this;
    }

Usage Example

 /**
  * @dataProvider getVersions
  */
 public function testModuleVersioning($module, $path, $expectedPresenterName, $expectedUrl)
 {
     $route = new RestRoute($module);
     $route->useURLModuleVersioning(RestRoute::MODULE_VERSION_PATH_PREFIX_PATTERN, [NULL => 'V1', 'v1' => 'V1', 'v2' => 'V2']);
     $url = new UrlScript();
     $url->setPath($path);
     $request = new Request($url, NULL, NULL, NULL, NULL, NULL, 'GET');
     $appRequest = $route->match($request);
     $this->assertEquals($expectedPresenterName, $appRequest->getPresenterName());
     $refUrl = new Url('http://localhost');
     $url = $route->constructUrl($appRequest, $refUrl);
     $this->assertEquals($expectedUrl, $url);
 }