【问题标题】:Symfony check for url segmentSymfony 检查 url 段
【发布时间】:2015-10-13 10:34:57
【问题描述】:

检查 url 段的最佳方法是什么?

我有一个事件监听器,用于检查用户是否完成了他们的帐户,如果没有,他们将被重定向到帐户完成页面。

这可行,但即使他们正在查看面向公众的网站,它也会重定向他们。

所以我想检查第一个 url 段是否是“admin”,例如 www.domain.com/admin。

谢谢

【问题讨论】:

标签: symfony routing


【解决方案1】:
$path = parse_url($url, PHP_URL_PATH);
if (substr( $path, 0, 6 ) === "/admin") {
    //do something
}

【讨论】:

    【解决方案2】:

    这将取决于环境(例如:front_dev.php/admin)

    但你可以这样做

    $cleanedUrl = str_replace('app_dev.php/', '', $_SERVER['REQUEST_URI']);
    $cleanedUrl = str_replace('app.php/', '', $cleanedUrl);
        $path = parse_url($cleanedUrl, PHP_URL_PATH);
        if (substr($path, 0, 6) === "/admin") {
            echo 'ok';
        }
    

    我不确定这是最好的解决方案,但它应该可以工作

    【讨论】:

    • omg 一方面使用 symfony,另一方面使用 superglobals 和 str_replace ...
    • 正如我在帖子中所说,我只是提供了一个快速有效的解决方案。但这并不是更好。
    猜你喜欢
    • 2017-09-09
    • 2014-08-13
    • 2016-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-17
    • 1970-01-01
    相关资源
    最近更新 更多