Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我应该使用控制器参数还是uri->;段_Php_Codeigniter - Fatal编程技术网

Php 我应该使用控制器参数还是uri->;段

Php 我应该使用控制器参数还是uri->;段,php,codeigniter,Php,Codeigniter,应该使用控制器参数 function view($post_id) { ... } 或uri->segment function view() { ... $post_id = $this->uri->segment(3); ... } 仅针对简单的博客帖子ID。有区别吗?我将使用controller参数 然后,如果必须移动代码并将其放在子目录中,它仍然可以工作,而segment方法则无法工作。否,在这种情况下没有区别。尽可能使用Controll参

应该使用控制器参数

function view($post_id) {
    ...
}
或uri->segment

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

仅针对简单的博客帖子ID。有区别吗?

我将使用controller参数


然后,如果必须移动代码并将其放在子目录中,它仍然可以工作,而segment方法则无法工作。

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

如果您想使用URI,请考虑使用<代码> $ -> URI > RSETA(3);<代码>相反,因为它允许您绑定路由,而不会影响资源段

CodeIgniter最好的一点是,它取决于您喜欢哪种解决方案。我更喜欢使用参数,因为它允许我快速理解url中的值如何影响函数,而无需查看函数;我看到顶部的值

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

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

相反。如果您访问url时没有
post\u id

同意,uri段很方便,但当您意识到必须移动某些内容或以某种方式重新排列这些段时,它们会让您感到非常痛苦。在有意义的地方使用它们,在本例中,post变量更有意义。。。。只需将其重新路由以匹配该段。我不明白这里有什么这么复杂。重新路由需要努力,使用控制器参数意味着它可以正常工作