你现在的位置:首页 > PHP网站建设知识库 > ecmall > 正文

解决ecmall错误Call to a member function get() on a non-object in frontend.base.php

我们在使用emall时,有可能会出现以下错误:

Fatal error:  Call to a member function get() on a non-object in frontend.base.php on line 39

为什么会出这这样的报错信息呢?应该如何解决好呢?我们先看看这一行的源代码,这一行的源代码如下:

$this->assign('cart_goods_kinds', $cart->get_kinds(SESS_ID, $this->visitor->get('user_id')));

很显然,$this->visitor这个对象为空,没有创建$this->visitor这个实例。

解决这个问题,可以加入检查对象是否被实例化的代码,修改后的内容如下:

$this->assign('cart_goods_kinds', is_object($cart) && is_object($this->visitor) ? $cart->get_kinds(SESS_ID, $this->visitor->get('user_id')) : 0);

无论写什么程序,初始化变量必不可少。

\