如何在smarty中自定义错误处理?

时间:2016-05-04 04:10:41

标签: php codeigniter error-handling smarty smarty3

大家好我想自定义我的错误处理......这是方案

  1. 在php控制器中定义 代码:

    $this->CI->smarty->assign('_setData', $set_data);
    
  2. $ set_data包含 代码:

    Array
    (
        [facebook] => https://facebook.com/ <---- this will be removed i
        [instagram] => https://instagram.com/
        [twitter] => https://twitter.com/
    )
    
  3. html中的代码

  4. 代码:

    {$_setData.facebook}
    
    1. 我收到错误
    2. 代码:

      Severity: Notice
      Message: Undefined index: facebook
      Filename: templates_c/5125124f1e59f2258a491707dcd0a86cf434db62_0.file.home_template.html.php
      Line Number: 94
      Backtrace:.......
      

      5.我知道数组中没有facebook,但是我想调整错误,如果控制器中没有定义变量(例如facebook),那么智能代码(例如{$ _setData.facebook} )将只显示null / empty / 0。

      我怎样才能在smarty中实现这一目标?这有可能调整聪明吗?

      如果您对我的帖子有疑问或说明,请与我们联系。

1 个答案:

答案 0 :(得分:0)

您可以更改php文件中的智能错误报告级别,并使用以下命令排除通知(或模板中的任何其他通知/错误):

$smarty->error_reporting = error_reporting() & ~E_NOTICE;

你也可以在模板中使用默认修饰符:

{$_setData.facebook|default:''}