* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ namespace PrestaShop\PrestaShop\Adapter\Routes; use Dispatcher; use PrestaShopException; use Validate; /** * Class RouteValidator is responsible for validating routes. */ class RouteValidator { /** * Check for a route pattern validity. * * @param string $pattern to validate * * @return bool Validity is ok or not */ public function isRoutePattern($pattern) { return Validate::isRoutePattern($pattern); } /** * Check if a route rule contain all required keywords of default route definition. * * @param string $routeId * @param string $rule Rule to verify * * @return array - returns list of missing keywords * * @throws PrestaShopException */ public function doesRouteContainsRequiredKeywords($routeId, $rule) { $missingKeywords = []; $validationResult = Dispatcher::getInstance()->validateRoute($routeId, $rule, $missingKeywords); return $validationResult ? [] : $missingKeywords; } }