В чем разница между redirect () и $ this в Codeigniter? - PullRequest
0 голосов
/ 26 марта 2019

Я новичок в Codeigniter, и это одна из хороших фреймворков php.Но на некоторых условиях я запутался.Как этот.Если у кого-нибудь из вас есть какие-либо разъяснения по поводу моего теста, это очень поможет мне.Перенаправления Offcouse обновляют страницу и $ this нет, но кроме этого я хочу знать - во всяком случае, они оба переходили куда-то еще на страницах просмотра или, как в другом контроллере или в том же контроллере, к другим методам.Но мы не используем их бок о бок, потому что при получении любого из них он будет переходить на эту страницу или метод без проверки следующих строк.

В случае нормальной разницы, тогда есть много, но я просто хочузнать об условии перехода на следующую страницу или метод, когда мы используем перенаправление или $ this, как это -

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

Спасибо за поиск моей проблемы.

Ответы [ 4 ]

2 голосов
/ 27 марта 2019

Перенаправление () Когда вы будете вызывать любую функцию помощника в codeigniter, вы можете вызывать функцию напрямую, без использования какого-либо объекта. Помощник в Codeigniter - это набор функций.

Метод Redirect () является частью помощника URL в Codeigniter. Для вашего реф. https://www.codeigniter.com/user_guide/helpers/url_helper.html

Итак, просто загрузите помощник, используя $ this-> load-> helper ('url'); или вы также можете упомянуть в файле autoload.php.

$ this-> Function (); используется для вызова функции из того же контроллера

1 голос
/ 26 марта 2019

$this->Function(); используется для вызова функции из того же контроллера

redirect ()

При создании веб-приложения нам часто нужно перенаправить пользователя из одногостраница на другую страницу.CodeIgniter облегчает нам эту работу.Для этой цели используется функция redirect().

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

Первый аргумент может иметь два типа URI.Мы можем передать полный URL-адрес сайта или сегменты URI контроллеру, который вы хотите направить.

Второй необязательный параметр может иметь любое из трех значений: auto, location или refresh.По умолчанию установлено значение auto.

Третий необязательный параметр доступен только для перенаправлений местоположения и позволяет отправлять определенный код ответа HTTP.

0 голосов
/ 26 марта 2019

Когда вы отправляете запрос на codeigniter, обычно вызывается контроллер CI, а затем функция, которая упоминается в сегменте uri. как показано ниже ... Так что это будет еще один запрос.

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

Но когда вам нужно вызвать другую функцию в рамках того же запроса, вы можете использовать следующий подход

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

Это выполнит данную функцию и вернет значение в том же запросе.

0 голосов
/ 26 марта 2019

Перенаправление означает переход к другой функции, упомянутой в методе перенаправления.

$this->Function($value); => переход к другой функции, и вы можете выполнить код той же функции, а также передать значение обратно, вернув значение.

...