1

在 Fat Free Framework 代码和在线示例中,我有时会看到这样引用的 URL 参数:

route_func($f3, $args) {  
     echo $args['name'] 
}

我还看到:

route_func($f3, $args) {  
    $param=$f3->get('PARAMS.name');      
    echo $param;
}

首选哪种方法?是否有任何警告?

4

1 回答 1

3

PARAMS可以从代码中的任何地方访问该变量,因此$f3->get('PARAMS.name')可以在任何地方使用。

无论如何,为了方便起见,在路由时,路由参数被传递给路由处理程序。因此,您可以通过使用传递给路由处理程序的第二个参数来节省一行代码。

换句话说,您提供的 2 个示例是等效的,因此请选择您最了解的一个。

有关在路由时传递的参数的更多详细信息,请参阅此答案

笔记:

正如@user3587554 所建议的那样,这两种语法在处理不存在的键方面有所不同:在返回 NULL$args['name']时抛出错误。$f3->get('PARAMS.name')所以为了完全一样,第一个语法应该是@$args['name']. 但大多数时候,这种预防措施是无用的,因为参数名称是毫无疑问的。

于 2014-05-12T12:15:17.050 回答