Php 如何在多环境检入Codeigniter中加载视图或使用重定向()?
要检查环境,如果匹配某些情况,则要重定向或加载某些视图<代码>获取_实例()代码>未在index.php中工作,其中环境检查Php 如何在多环境检入Codeigniter中加载视图或使用重定向()?,php,codeigniter,redirect,error-handling,environment,Php,Codeigniter,Redirect,Error Handling,Environment,要检查环境,如果匹配某些情况,则要重定向或加载某些视图获取_实例()未在index.php中工作,其中环境检查 我现在的样子如下: if (ENVIRONMENT === "production") { /*if(error ="db error") redirect("/someview","refresh"); or load view header and footer */ } 我只是混淆了CI中的错误处理机制。在stackoverflow用户的帮助
我现在的样子如下:
if (ENVIRONMENT === "production")
{
/*if(error ="db error")
redirect("/someview","refresh");
or load view header and footer
*/
}
我只是混淆了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.php)
希望这能让您了解如何处理这些错误是否需要将
环境
逻辑仅放在index.php
中?我只需要在出现错误时重定向。仅此而已。为了验证,是否要为所有控制器设置一个通用的“错误处理逻辑”?假设如果发生db错误
,您希望将其动态重定向到某个视图
?(例如'about'=>'home'/'someurl'=>'home')@eeya我只是对CI中的错误处理机制感到困惑。在stackoverflow用户的帮助下,我找到了关闭错误的步骤。但现在我无法处理这些错误。我故意将$bCheck指定给false。从那里,您可以检查您的条件(例如db错误异常),如下面的代码或不$bCheck=$this->db->get($tb);是,$bCheck=$this->helper->get('tb');。如果返回错误,则从[url]helper类调用[redirect]方法或检查上面所示的[HandlerRedirectMethod]
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);
}
}