Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP路径中未定义的索引_Php_Opencart - Fatal编程技术网

PHP路径中未定义的索引

PHP路径中未定义的索引,php,opencart,Php,Opencart,这里是OpenCart扩展开发的新手。我目前正在开发一个99Bill(中文付款方式)付款扩展 目前,我已将新文件添加到MVC目录中(因此,我在admin、catalog等下添加了文件,其中我将扩展名命名为bill99,因为PHP不允许名称以数字开头) 我试图测试我的扩展,但在我的OpenCart主页上,我发现以下错误: 注意:未定义索引:第20行/vagrant/opencart/upload/catalog/model/catalog/product.php中的mobile\u说明注意:未定义

这里是OpenCart扩展开发的新手。我目前正在开发一个99Bill(中文付款方式)付款扩展

目前,我已将新文件添加到MVC目录中(因此,我在admin、catalog等下添加了文件,其中我将扩展名命名为bill99,因为PHP不允许名称以数字开头)

我试图测试我的扩展,但在我的OpenCart主页上,我发现以下错误:

注意:未定义索引:第20行/vagrant/opencart/upload/catalog/model/catalog/product.php中的mobile\u说明
注意:未定义索引:第20行/vagrant/opencart/upload/catalog/model/catalog/product.php中的mobile\u说明
注意:未定义索引:第20行中的mobile\u说明/第20行的vagrant/opencart/upload/catalog/model/catalog/product.php通知:未定义索引:第20行的mobile_说明/vagrant/opencart/upload/catalog/product.php通知:未定义索引:第20行的mobile_说明/vagrant/opencart/upload/catalog/model/catalog/product.php通知:未定义索引:第20行/vagrant/opencart/upload/catalog/model/catalog/product.php中的mobile_说明

我不太清楚我是如何触发它的,因为我以前从未编辑或触摸过
product.php
文件。即使禁用/卸载99Bill分机,也会出现此错误

当我导航到product.php时,第20行简单地说:

'description'      => $query->row['mobile_description']
我感觉我的错误与product.php文件无关,因为我以前从未接触过它,可能与我的99Bill扩展名有关。我可能还没有初始化某个类


对于以前有过这个错误的人,你能帮我理解一下吗?

嗯:第20行访问数组索引,不是吗?假设索引不存在,那么您得到的错误消息是否有意义?尝试转储
$query->row
的内容或用以下内容替换现有内容:

'description'      => isset($query->row['mobile_description']) ? $query->row['mobile_description'] : null,

至于您为什么会收到此通知:,并包含一些可以帮助您重构代码的片段

感谢Elias的帮助。我不太明白的是,为什么在添加一个新的扩展名后,我会出现这个以前从未收到过的错误。@TheGreenColla:更新了我的答案,添加了一个链接到我以前的答案,解释了通知的来源。一句话:它一直存在,但是安装一个新的扩展可能会改变PHP的ini设置,或者它们可能已被覆盖,请将它们保持在更严格的级别,尽管如此:注意事项是为了帮助您感谢您提供了信息丰富的答案!我挖得更深一点。切换回我的主分行(不存在99Bill分机),将不存在此通知。我的99号分机可能也有问题,因为我无法“启用”它。@TheGreenColla:不完全是:通知确实存在。它被忽略或不显示(
error\u reporting
display\u errors
设置不同)。无论设置是什么,通知都是在内部发出的,因此它们确实会导致开销并降低代码的速度。不要忽视它们,修复它们!不要因为扩展迫使PHP更加严格而责怪它,应该责怪你的代码没有在没有通知的情况下编写