Codeigniter中的redirect()和$ this有什么区别

时间:2019-03-26 07:58:25

标签: codeigniter redirect controller this

我是Codeigniter的新手,它是php的良好框架之一。但是在某些情况下,我很困惑。像这个。如果您对我的面团有任何澄清,对我有很大的帮助。 Offcouse重定向刷新页面和$ this,除了我想知道的以外-无论如何它们都曾经去过视图页面上的其他地方,或者像在其他控制器或同一控制器中的其他方法一样。 但是,我们不会并排使用它们,因为获取它们中的任何一个时,它们都将转到该页面或方法而无需检查下一行。

如果存在正常差异,那么会有很多差异,但是我只想知道当我们使用redirect或$ this这样时转到下一页或方法的情况-

$this->Function($value); //It's method of same controller.
redirect('Controller/function'); //It's also doing same with page reload.

感谢您查找我的问题。

4 个答案:

答案 0 :(得分:2)

重定向() 当您在codeigniter中调用helper的任何函数时,则可以直接调用函数,而无需使用任何对象。 Codeigniter中的Helper是函数的集合。

Redirect()方法是Codeigniter中URL帮助器的一部分。 供您参考。 https://www.codeigniter.com/user_guide/helpers/url_helper.html

因此,只需使用$ this-> load-> helper('url');加载帮助程序;或者您也可以在autoload.php文件中提及。

$ this-> Function(); 用于从同一控制器调用函数

答案 1 :(得分:1)

$this->Function();用于从同一控制器调用函数

redirect()

在构建Web应用程序时,我们经常需要将用户从一个页面重定向到另一页面。 CodeIgniter使我们的工作变得简单。 redirect()函数用于此目的。

redirect($uri = '', $method = 'auto', $code = NULL)

第一个参数可以具有两种类型的URI。我们可以将完整的站点URL或URI段传递给您要定向的控制器。

第二个可选参数可以具有来自auto,location或refresh的三个值中的任何一个。默认值为自动。

第三个可选参数仅适用于位置重定向,它允许您发送特定的HTTP响应代码。

答案 2 :(得分:0)

重定向意味着跳转到重定向方法中提到的另一个功能。

$this->Function($value); =>跳转到另一个函数,您可以执行同一函数的代码,也可以通过返回值将值传回。

答案 3 :(得分:0)

当您向codeigniter发送请求时,通常会调用CI控制器,然后调用uri段中提到的功能。如下所示...这将是另一个请求。

redirect('Controller/function'); //It's also doing same with page reload. 

但是当您必须在同一请求中调用另一个函数时,可以使用以下方法

$this->Function($value); //It's method of same controller. 

这将执行给定的函数并在同一请求中返回值。