Codeigniter:有没有办法识别在控制器类中发起请求的视图?

时间:2012-02-02 20:21:11

标签: class codeigniter redirect view

我有一个接收来自不同视图的请求的类。它处理请求,并应将用户重定向到他们“访问”的视图。有什么方法可以识别这个视图,以便我可以将它加载回浏览器吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

为什么不直接重定向引用页面?以下是我通常在MY_url_helper.php文件中放置的一些函数来实现此目的:

<?php
function redirect_back()
{
    redirect($_SERVER['HTTP_REFERER']);
}

function save_next($next_url = NULL)
{
    if (empty($next_url))
    {
        $next_url = current_url();
    }

    $CI =& get_instance();
    $CI->session->set_userdata('next_url', $next_url);
}

function redirect_next($fallback = '')
{
    $CI =& get_instance();
    $next = $CI->session->userdata('next_url');
    if ( !empty($next))
    {
        $CI->session->unset_userdata('next_url');
        redirect($next);
    }

    redirect($fallback);
}

结合使用这些功能的方法:

  1. 在处理(例如,表单数据)的控制器操作中调用redirect_back()
  2. 在显示视图的控制器操作中调用save_next(),然后在处理表单数据的控制器操作中调用redirect_next()
  3. 它并不像REST那样,但它完成了工作,让你能够专注于生活中更重要的事情......

相关问题