应该使用Controller Argument
function view($post_id) {
...
}
或uri->段
function view() {
...
$post_id = $this->uri->segment(3);
...
}
仅限简单的博客文章ID。有区别吗?
答案 0 :(得分:7)
我会使用控制器参数。
然后,如果您不得不移动代码并将其放在子目录中,它仍然可以工作,而段方法则不然。
答案 1 :(得分:0)
否,在这种情况下没有区别。尽可能使用Controll Argument。它允许您更多地处理路由并移动控制器文件。
如果您希望使用uri,请考虑使用$this->uri->rsegment(3);
,因为它允许您绑定路由而不会影响该部分。
CodeIgniter的最大优点是,您可以选择哪种解决方案。我更喜欢使用参数,因为它允许我快速理解url中的值如何影响函数而无需查看函数;我看到顶部的值。
如果您害怕创建错误消息,请考虑将其设置为
function view($post_id = NULL) {
...
}
代替。如果您在没有post_id
的情况下访问网址,则会阻止错误。