获得有关不含脂肪V3执行的路由信息

问题描述 投票:3回答:2

我想知道哪条路线是根据在不含脂肪的框架方法beforeRoute当前URL执行。

换句话说,我可以得到哪些类和方法将被执行?我对在模式变量模式(URL)有关的信息,但我不知道哪些类和方法将会对这个模式被执行为routes.ini映射。

我routes.ini的例子:

GET /admin=Controllers\Admin\Admin->index

在这种情况下,我想找到这个类是Controllers\Admin\Admin和方法是指数。

我发现如何获取类:

get_class($this)

但是我还没有找到如何获得方法名。请记住,我不得不从beforeRoute方法获取方法名。

routing fat-free-framework
2个回答
5
投票

我发现它在这里是解决方案,它可以帮助一些之一。

要获得将在路线执行的方法名称:

$hive = $f3->hive();
$tmp = explode('->',$hive['ROUTES'][$f3->get('PATTERN')][3][$hive['VERB']][0]);

所以$ TMP [0]将包含类名和$ TMP [1]将containt德法的名字。


1
投票

简短而亲切的版本

$request = $this->f3->get('PARAMS.0');

那么你可以检查$请求有你在找什么

if(!$this->f3->exists('SESSION.userId')){
    if (!$this->strpos($request,'login')) {
        $this->f3->reroute('/login');
        exit;
    }
}

在PARAM更多细节

PARAM的第一阵列索引包含的URI,从那里将PARAM包含任何路由查询变量。

样品网址:http://localhost/user/edit/@id/@whatever

PARAMS[0]=/user/edit/foo/bar
PARAMS[id]=foo
PARAMS[whatever]=bar
© www.soinside.com 2019 - 2024. All rights reserved.