哪个更好?从控制器传递参数或使用uri


Which is better? Passing parameters from controller or using uri?

我需要做一个动态页面,有点像:example.com/nameofbook/1 -其中1是页面的编号。

这是2个参数。

我知道做这件事的两种方法。1. 在控制器中我有函数页($book, $page)2. 使用->uri->段从链接中获取参数。

我应该用什么,为什么用,哪个更安全?

无论如何,当我使用带有2个参数的控制器时,CSS代码不会加载。当我使用1时,它会加载。我的路线是$route['page/(:any)/(:any)']='main/page/$1/$2'之类的。

使用$this->uri->段与在控制器中使用参数完全相同。参数将被传递到控制器,如果它是URI的一部分,无论您是否在方法中定义了它们。

即:

page() {
    // This will be an array of passed arguments
    $args = func_get_args();
}

我不知道为什么你的CSS不加载一个方法超过另一个。也从你的URI判断,你的路由不会工作…因为"page"部分不在URI中,所以你的URI应该是example.com/page/nameofbook/1

任何一种方式都是"安全的",你建议的两种方式没有区别。