是不是不能在基类里面返回响应,只能在访问的控制器方法里面返回响应
A控制器(有C方法)继承B控制器(有D方法) C中调用了D去做验证 只能在C里面返回响应,在D方法中就算返回了响应,也需要在C中判断是对象,再返回响应,不能在D中就直接响应到前端接口 是因为没法exit吗
可以在D方法抛异常
用抛异常的方式去直接返回响应吗?
你可以看看这个插件https://www.workerman.net/plugin/16
可以直接在D里面return Response对象的
做异常是正解,在D返回了响应对象,还是得在C做判断
可以正常返回的啊?不知道楼下的步骤是不是你所要的
一句话,一路调用,一路return
User控制器(有test方法)继承B控制器(有base方法),结果返回是B的结果
如果B控制器中是普通方法,也是可以返回的,
可能是我表达的不清楚,你这还是在user的方法里面return了的。我的意思是直接B的base里面return就结束了。不用return $this->base(); 直接$this->base()。就可以了
比如你的$this->base()前后都有业务,base就是一个验证,如果失败了,直接就返回要接口响应了
如果是调用的对象的是方法base,base昨晚逻辑处理后,你在base中return了,以为就OK。这是肯定不对的。你外部调用它,还没接收他啊。必须要去接收调用的结果的,目前你是直接异常抛出,让全局异常处理器去补获,响应返回的。
只要你不中断,不管哪个方式都得接收。被拦截、当做切点,包括直接异常抛出等方式除外
一路调用一路return,我也再平移项目,就遇到了这个问题,所以啊还是之前的程序不规范。有的方法又有业务又有错误提示
抛出异常 throw new Exception('returnData' 0);
如果自带的异常不满足,可以自定义异常类 https://www.workerman.net/doc/webman/exception.html
A控制器(有C方法)继承B控制器(有D方法)
C中调用了D去做验证
只能在C里面返回响应,在D方法中就算返回了响应,也需要在C中判断是对象,再返回响应,不能在D中就直接响应到前端接口
是因为没法exit吗
可以在D方法抛异常
用抛异常的方式去直接返回响应吗?
你可以看看这个插件https://www.workerman.net/plugin/16
可以直接在D里面return Response对象的
做异常是正解,在D返回了响应对象,还是得在C做判断
可以正常返回的啊?不知道楼下的步骤是不是你所要的
一句话,一路调用,一路return
User控制器(有test方法)继承B控制器(有base方法),结果返回是B的结果
如果B控制器中是普通方法,也是可以返回的,
可能是我表达的不清楚,你这还是在user的方法里面return了的。我的意思是直接B的base里面return就结束了。不用return $this->base(); 直接$this->base()。就可以了
比如你的$this->base()前后都有业务,base就是一个验证,如果失败了,直接就返回要接口响应了
如果是调用的对象的是方法base,base昨晚逻辑处理后,你在base中return了,以为就OK。这是肯定不对的。你外部调用它,还没接收他啊。必须要去接收调用的结果的,目前你是直接异常抛出,让全局异常处理器去补获,响应返回的。
只要你不中断,不管哪个方式都得接收。被拦截、当做切点,包括直接异常抛出等方式除外
一路调用一路return,我也再平移项目,就遇到了这个问题,所以啊还是之前的程序不规范。有的方法又有业务又有错误提示
抛出异常 throw new Exception('returnData' 0);
如果自带的异常不满足,可以自定义异常类
https://www.workerman.net/doc/webman/exception.html