如何在Codeigniter中加载视图或在多个环境中使用redirect()?

时间:2017-05-30 08:29:00

标签: php codeigniter redirect error-handling environment

想要检查环境,如果匹配某些情况,则需要重定向或加载某些视图。 get_instance();无法在index.php中进行环境检查 我看起来像下面的东西:

if (ENVIRONMENT === "production")
{

    /*if(error ="db error")
    redirect("/someview","refresh");
    or load view header and footer
    */

}

1 个答案:

答案 0 :(得分:1)

  

我对CI中的错误处理机制感到困惑。在stackoverflow用户的帮助下,我找到了关闭错误的步骤。但现在我无法处理这些错误。

如果您想处理某个错误,可以将其重定向到您在问题中提到的过程中的某个视图。

 // Assuming you have a [Home] Controller that extends to your [Common] parent class
 class Home extends Common {
    public function index()
    {
        $this->load->helper('url');
        $bCheck = false;
        if ($bCheck !== true) {
            $this->handleRedirectMethod('path/to/your/controller');
        }
    }
}

然后在您的父[Common]控制器上。 (例如Common.php)

class Common extends CI_Controller
{
    public function handleRedirectMethod($sUrl, $sMethodName = 'refresh', $sStatusCode = '302')
    {
        $sServerName = $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'];
        redirect($sServerName . '/' . $sUrl, $sMethodName, $sStatusCode);
    }
}

希望这能让您了解如何处理这些错误