【问题标题】:Undefined index within a PHP pathPHP 路径中未定义的索引
【发布时间】:2014-10-08 07:37:23
【问题描述】:

OpenCart 扩展开发的新手。我目前正在开发 99Bill(中国支付方式)支付扩展。

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

我试图测试我的扩展程序,但在我的 OpenCart 主页上,我收到以下错误:

注意:未定义索引:第 20 行 /vagrant/opencart/upload/catalog/model/catalog/product.php 中的 mobile_description
注意:未定义索引:/vagrant/opencart/upload/catalog/model/ 中的 mobile_description第 20 行的目录/product.php
注意:未定义索引:/vagrant/opencart/upload/catalog/model/catalog/product.php 第 20 行中的 mobile_description
注意:未定义索引:/vagrant/ 中的 mobile_description第 20 行的 opencart/upload/catalog/model/catalog/product.php
注意:未定义索引:第 20 行 /vagrant/opencart/upload/catalog/model/catalog/product.php 中的 mobile_description
注意:未定义索引:第 20 行 /vagrant/opencart/upload/catalog/model/catalog/product.php 中的 mobile_description

我不太清楚我是如何触发它的,因为我之前从未编辑或接触过product.php 文件。即使我禁用/卸载我的 99Bill 扩展程序,也会出现错误。

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

'description'      => $query->row['mobile_description']

我感觉我的错误与 product.php 文件无关,因为我以前从未接触过它,并且可能与我的 99Bill 扩展有关。我可能没有在某个地方初始化一个类。

对于以前遇到此错误的人,您能帮我理解一下吗?

【问题讨论】:

    标签: php opencart


    【解决方案1】:

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

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

    至于为什么您会收到此通知:This answer explains that,其中包含一些可以帮助您重构代码的 sn-ps

    【讨论】:

    • 感谢埃利亚斯的帮助。我不太明白的是,为什么在添加新扩展后,我会收到这个我以前从未收到过的错误。
    • @theGreenCabbage:更新了我的答案,添加了一个指向我之前的答案的链接,该链接解释了通知的来源。底线:它一直存在,但安装新扩展可能会更改 PHP 的 ini 设置,或者它们可能已被覆盖,但请保持在更严格的级别:help
    • 感谢您提供的信息丰富的回答!我挖得更深一点。切换回我的 master 分支(其中不存在 99Bill 扩展),将不存在此通知。我的 99Bill 扩展可能也有问题,因为我无法“启用”它。
    • @theGreenCabbage:不完全是:通知确实存在。它要么被忽略,要么不显示(error_reportingdisplay_errors 设置不同)。无论设置是什么,通知都是在内部发出的,因此它们确实会导致开销并减慢您的代码速度。不要忽视它们,修复它们!不要责怪扩展迫使 PHP 变得更严格,责怪你的代码没有被无通知地编写
    猜你喜欢
    • 1970-01-01
    • 2018-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-26
    • 1970-01-01
    • 2014-08-11
    • 1970-01-01
    相关资源
    最近更新 更多