8

应该使用控制器参数

function view($post_id) {
    ...
}

或 uri->segment

function view() {
    ...
    $post_id = $this->uri->segment(3);
    ...
}

仅用于简单的博客文章 ID。有区别吗?

4

2 回答 2

7

我会使用控制器参数。

然后,如果您不得不移动代码并将其放在子目录中,它仍然可以工作,而段方法则不能。

于 2013-01-31T12:14:56.843 回答
0

,在这种情况下没有区别。尽可能使用 Controll 参数。它允许您更多地处理路由并移动控制器文件。

如果您希望使用 uri,请考虑使用,$this->uri->rsegment(3);因为它允许您绑定路由而不影响 rsegment。

CodeIgniter 最棒的地方在于,您喜欢哪种解决方案取决于您。我更喜欢使用参数,因为它可以让我快速了解 url 中的值如何影响函数,而无需查看函数;我看到顶部的值。

如果您害怕创建错误消息,请考虑将其设置为

function view($post_id = NULL) {
    ...
}

反而。如果您访问没有post_id.

于 2013-01-31T12:18:15.637 回答