如何检查字符串是否与Laravel中的路线匹配?

时间:2017-04-30 20:18:21

标签: php laravel

我有一个表单,允许用户在我的Laravel支持的Web应用程序上注册帐户。我有某些路线,例如/home/logout

如何检查他们尝试注册的用户名是否与这些路由匹配,而不对其进行硬编码?

1 个答案:

答案 0 :(得分:4)

我对你的应用程序并不完全确定,但我会怎样做。

private function getRouteSlugs()
{
    $slugs  = [];
    $routes = Route::getRoutes();

    foreach ($routes as $route)
    {
        $parts = explode('/', $route->getPath());
        foreach ($parts as $part)
        {
            $slug    = trim($part, '{}?');
            $slugs[] = $slug;
        }
    }

    return array_unique($slugs);
}

这个函数有助于获得在Laravel中注册的所有slug,然后使用简单的in_array来检查该slug是否已被保留。