ERRMAP关联数组无法获得值

来源:4-4 异常处理-错误字典、TryCatch的集中捕获

约翰姜

2017-09-01

求救!帮我看看这个奇怪的现象:


因为一直返回errmsg和errno为null,经过10个小时层层排查,最终定位到ERRMAP(累!)。于是我做了以下几项修改,将问题表现和定位出来:

步骤一:library/Err/Map.php 尝试直接返回数组(因为无法进入到if(isset(ERRMAP[$code])){}条件内,所以注释掉判断。)

http://szimg.mukewang.com/59a8594f0001a55806760543.jpg



步骤二:在controllers/User.php的registerAction()内直接echo json给postman以查看ERRMAP::get()返回的内容

http://szimg.mukewang.com/59a85a6f0001cac005960436.jpg




步骤三:postman请求register后的显示errno已经传入,但是errmsg的值无法获取

http://szimg.mukewang.com/59a85b5500017ba111250463.jpg


环境:MAMP4.2: APACHE PHP7.0.20 MySQL5.6.35 + yaf3.0.5



写回答

3回答

Pangee

2017-09-02

同学,我想给你置顶!真棒~

0
2
约翰姜
非常感谢!
2017-09-08
共2条回复

约翰姜

提问者

2017-09-03

已解决:

  1. application/library/Err/Map.php中的代码应该改为 :

//szimg.mukewang.com/59abbd03000153bf06550544.jpg

就是在ERRMAP[$code]加self::




2. application/models/User.php中用到list()的地方改为:

//szimg.mukewang.com/59abbdd600016d5408770260.jpg

list()函数只用于数字索引的数组,且假定数字索引从 0 开始。

( 参考来源:http://www.w3school.com.cn/php/func_array_list.asp   )





1
0

hong泓零食店

2017-09-21

list()问题 不知道有没有最优方案

0
0

高性能的PHP API接口开发

掌握核心API接口开发及性能调优,让你的代码运行效率加倍

1044 学习 · 149 问题

查看课程