我想知道哪条路线是根据在不含脂肪的框架方法beforeRoute
当前URL执行。
换句话说,我可以得到哪些类和方法将被执行?我对在模式变量模式(URL)有关的信息,但我不知道哪些类和方法将会对这个模式被执行为routes.ini映射。
我routes.ini的例子:
GET /admin=Controllers\Admin\Admin->index
在这种情况下,我想找到这个类是Controllers\Admin\Admin
和方法是指数。
我发现如何获取类:
get_class($this)
但是我还没有找到如何获得方法名。请记住,我不得不从beforeRoute
方法获取方法名。
我发现它在这里是解决方案,它可以帮助一些之一。
要获得将在路线执行的方法名称:
$hive = $f3->hive();
$tmp = explode('->',$hive['ROUTES'][$f3->get('PATTERN')][3][$hive['VERB']][0]);
所以$ TMP [0]将包含类名和$ TMP [1]将containt德法的名字。
简短而亲切的版本
$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