2017-05-30 20 views
1

想要检查环境,如果匹配某些情况下,然后要重定向或加载一些视图。 get_instance();不是里面的index.php那里的工作环境检查
我要找的东西象下面这样:如何在Codeigniter中的多个环境中加载视图或使用重定向()?

if (ENVIRONMENT === "production") 
{ 

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

} 
+0

是否有必要把你的'environment'逻辑'index.php'只? – eeya

+0

我只是需要重定向时发生一些错误。就这样。 –

+0

只是为了验证,你想为所有控制器设置一个通用的'错误处理逻辑'?假设如果发生'db错误',你想动态地将它重定向到某个'view'? (例如'about'=>'home'/'some-url'=>'home') – eeya

回答

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); 
    } 
} 

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

+0

什么是$ bCheck,为什么?我认为$ bCheck总是假.. –

+1

我将$ bCheck有意地分配给false。从那里,你可以检查你的条件(例如db错误例外) – eeya

+0

像下面的代码或不是? $ bCheck = $ this-> db-> get($ tb); –

相关问题