ManaPHP\Mvc\Router\Route::_compilePattern PHP Method

_compilePattern() protected method

Replaces placeholders from pattern returning a valid PCRE regular expression
protected _compilePattern ( string $pattern ) : string
$pattern string
return string
    protected function _compilePattern($pattern)
    {
        // If a pattern contains ':', maybe there are placeholders to replace
        if (Text::contains($pattern, ':')) {
            $tr = ['/:controller' => '/{controller:[a-z\\d_-]+}', '/:action' => '/{action:[a-z\\d_-]+}', '/:params' => '/{params:.+}', '/:int' => '/(\\d+)'];
            $pattern = strtr($pattern, $tr);
        }
        if (Text::contains($pattern, '{')) {
            $pattern = $this->_extractNamedParams($pattern);
        }
        if (Text::contains($pattern, '(') || Text::contains($pattern, '[')) {
            return '#^' . $pattern . '$#i';
        } else {
            return $pattern;
        }
    }