什么是AOP切面编
下面通过一个实例来告诉大家,以接口数据验证为列
我们可以把方框里边的流程合为一个,因为还有另一个接口,我们把他俩发在一起
我们可以发现,这两个接口有一样的验证流程,我们把一样的括起来再说:
有没有想过把这个验证数据的代码提出来,不放到主流程去,这就是AOP的作用了,有了AOP你写代码不用考虑数据验证这一个环节,你直接编写你的主体代码,当你的主体代码写完之后,在另一个地方写数据验证的类,然后你用到他就去加载他。
上面就是我描述AOP编程思想,我们可以把括号里面的内容看成一个面,我们在这个面加一些控制代码,这个括号就可以看成一个AOP的切面。其实AOP就是纵向的控制流程,我们把那些相同的流程提出来形成一个横向的面,这个面就是切面;
代码实例
我以laravel框架为例,给大家利用AOP面向切面的编程思想编写全局异常
一、我们在AppExceptions里面建立我们基类异常处理,因为laravel的异常默认放在这个位置
编写的代码如下
首先我定义了三个成员属性,code:代表HTTP响应的状态码,msg:代表异常提示信息,errorCode:表示自定义错误码
二、在框架的AppExceptionshandler.php去实现我们异常的基类
三、我们在代码里面调用我们的异常