Cake\Routing\Route\Route::compile PHP Method

compile() public method

Modifies defaults property so all necessary keys are set and populates $this->names with the named routing elements.
public compile ( ) : array
return array Returns a string regular expression of the compiled route.
    public function compile()
    {
        if ($this->_compiledRoute) {
            return $this->_compiledRoute;
        }
        $this->_writeRoute();
        return $this->_compiledRoute;
    }

Usage Example

 /**
  * Test that :key elements are urldecoded
  *
  * @return void
  */
 public function testParseUrlDecodeElements()
 {
     $route = new Route('/:controller/:slug', ['action' => 'view']);
     $route->compile();
     $result = $route->parse('/posts/%E2%88%82%E2%88%82');
     $this->assertEquals('posts', $result['controller']);
     $this->assertEquals('view', $result['action']);
     $this->assertEquals('∂∂', $result['slug']);
     $result = $route->parse('/posts/∂∂');
     $this->assertEquals('posts', $result['controller']);
     $this->assertEquals('view', $result['action']);
     $this->assertEquals('∂∂', $result['slug']);
 }