第一次写博客,如有不规范请手下留情。有点扯远了,掰回正题。
今天我来写一下关于missing_action的处理方法
别的不说直接上图
写了一天代码突然报missing_action错误,what?什么玩意,根本看不懂好伐。我就去找我的控制器。
检查第一次没错,运行~~~还是missing_action,这什么回事,难道计算机欺负我?
然后我调用同控制器里的其他方法,正常运行,再次调用buyer_log方法,还是报错!!!这怎么回事,好呗,解决不了你难道我还不能度娘。
百度一搜。。。。。直接无语,关于ECMALL的相关开发基本找不到,有些基本重复展示,这什么玩意嘛。
然后大家懂得,基本进入无限loop,好伐,不行我就看核心控制器呗
查看一个文件名叫:\eccore\controller\app.base.php查看missing_action哪里出现过
找到了这个提示错误后还是一头雾水呢,写的都是什么,看不懂好伐。不过没关系,好在PHP有个强大的函数print_r,我们把$action输出来看看是什么玩意。
$action没错,那就试试$action{0}输出来试试
一个B,什么玩意,不懂,接着这面一个参数 method_exists($this, $action)输出来看看
什么都没有,这下找出原因所在,这里稍稍讲一下method_exists ( mixed $object , string $method_name )这个方法。method_exists方法主要是来判断一下方法函数是否存在,mixed $object代表对象,我这里主要指我的控app(控制器),string $method_name主要是这个app里的方法,指我写的buyer_log方法,现在是什么都不出现代表我的方法不在类里面,这个时候就的好好的看一下我们写的这个app
好家伙,直接错位,方法写出 类的范围,难怪调用不到,method_exists也报错,这种错误真的是.....
总结:
1、开发的时候也许会遇到无法解决的问题,切记莫慌和急,先把问题抛开一下,休息一会再来“慢慢”解决,只要你肯花时间去了解和处理,事情总能解决。
2、错不怕,慢慢来,吸取教训后下次避免即可,也别去比较其他人,按照自己的步伐慢慢来,走出自己的调子。