robbie003 发表于 2012-10-10 18:40:26

关于view有个问题

如果我在controller没有设置一个变量,比如NAME,但我在VIEW中有{NAME},就会出现undefine the $NAME

我以前在SMARTY中好像不会出现这个问题,如果这样感觉有点麻烦,每个还要判断一个isset(),所以有没有什么办法,如果没有定义这个变量在controller,那就显示空。

大道达人 发表于 2012-10-10 20:57:05

1.php.ini
把error_reporting的E_NOTICE去掉

2.你的变量来源是哪里?
如果来自controller就需要判断是否存在

robbie003 发表于 2012-10-10 21:30:12

我可能在编辑与创建,都使用一个VIEW,那个VIEW一定会写比如{NAME}, 我不想在VIEW中判断,这样感觉很乱,SMARTY就不会出现这个错误。

error_reporting的E_NOTICE去掉 不是一个好方法

zq0720 发表于 2012-10-11 08:02:45

在那个变量之前加一个@屏蔽错误

大道达人 发表于 2012-10-11 09:12:52

robbie003 发表于 2012-10-10 21:30 static/image/common/back.gif
我可能在编辑与创建,都使用一个VIEW,那个VIEW一定会写比如{NAME}, 我不想在VIEW中判断,这样感觉很乱,SM ...

写个全局get方法,对问题的变量处理      
public static function get($array, $key, $default = NULL)
      {
            return isset($array[$key]) ? $array[$key] : $default;
      }

跟屁虫 发表于 2012-10-11 10:40:13

在构造函数里加上
error_reporting(0);

robbie003 发表于 2012-10-11 10:50:17

你这个get在哪调用? controller还是view

最好的办法就是CI改一下,有谁知道在哪改

浪迹天涯 发表于 2012-10-12 16:15:43

你用的CI是什么版本?如果是2.1.*的,可以在index.php中修改的,如下图:
开发的时候define('ENVIRONMENT', 'development');
上线的时候可以改为define('ENVIRONMENT', 'production');
页: [1]
查看完整版本: 关于view有个问题