解决 ECMall 错误 Call to a member function get() on a non-object in frontend.base.php
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->assign(‘cart_goods_kinds’, is_object($cart) && is_object($this->visitor) ? $cart->get_kinds(SESS_ID, $this->visitor->get(‘user_id’)) : 0);
ECMall在功能上做的不错,只是从php开发的角度来看,是有一些繁杂,在开发架构上搞的过于臃肿,在一些基础的代码规范上还有待于加强。
不仅这个错误,其他的一些小错误都是由于未对使用的变量进行判断而直接使用而引起的。虽然都是小错误,但还是再严谨一些的好。小错误对于有经验的开发人员来说,是很容易解决的,但对于一些使用整套程序做网站的技术门外汉来说,再小的错误都是解决不了的大问题。
客服代表: 全网客服01 全网客服02 全网客服03 全网客服04 全网客服05 全网客服06
服务热线:022-58055028 022-83702936(传真) 24小时故障申报
快速链接:公司新闻 | 热门话题 | 全网优势 | 推广优化 | 天津网络公司首页
地址:天津市南开区华苑鑫茂科技园军民园5A-601 & 南开区城厢东路与北城街交口西北侧龙亭家园12-1-918
天津网站设计 天津网络公司 天津网站建设
版权所有 Copyright 2010-2012 2026世界杯竞彩 All Rights Reserved. 津ICP备11019076号-1 | 网站地图 | 世界杯预选赛 |世界杯竞猜
服务热线:022-58055028 022-83702936(传真) 24小时故障申报
快速链接:公司新闻 | 热门话题 | 全网优势 | 推广优化 | 天津网络公司首页
地址:天津市南开区华苑鑫茂科技园军民园5A-601 & 南开区城厢东路与北城街交口西北侧龙亭家园12-1-918
天津网站设计 天津网络公司 天津网站建设
版权所有 Copyright 2010-2012 2026世界杯竞彩 All Rights Reserved. 津ICP备11019076号-1 | 网站地图 | 世界杯预选赛 |世界杯竞猜