在PHP中,利用__call(),可实现方法运行前/后执行指定的程序片段。
下面演示下,在test方法执行后自动执行afterTest方法
1 | trait A{ |
输出结果为:Array ( [0] => 0 [1] => error )
不难看出,这种处理方式存在以下两个缺陷:
- 方法需设为外界不可用,protected/privated,在IDE中就无法跳转,其他人维护起来比较困难;
- 代码耦合度高,相互影响,不利于后期扩展。
在PHP中,利用__call(),可实现方法运行前/后执行指定的程序片段。
下面演示下,在test方法执行后自动执行afterTest方法
1 | trait A{ |
输出结果为:Array ( [0] => 0 [1] => error )
不难看出,这种处理方式存在以下两个缺陷:
想法、疑问或勘误,都可以写在这里。留言会公开显示。
设计模式——建造者模式
PHP中unset的一些使用