phalcon框架中钩子函数问题
芳草之堂 2014-11-11 10:57:04 phalcon框架据说现在是php框架中排名前三位的三个框架之一,作为php的扩展模块加载,效率方面没得说。但是也正由于这一特点,对于一些对c语言不熟悉的人来说,在很多细节方面就比较吃力。
phalcon框架中一大特点就是有许多内置的钩子函数(或者说是事件触发器)。提到这个就不得不提其中的两个beforCreate和beforSave。在模型调用create时会触发beforCreate钩子,而在调用save时触发beforeSave钩子。这是我们正常的理解。
在一次开发过程中发现其实并不是单纯的这样来实现的。而实际上在调用create方法的时候,create方法内部调用了save方法,而调用save方法的时候显然触发beforSave,所以调用create方法的过程是:调用create方法->create方法内部调用save方法->save方法内部调用beforeSave方法->调用beforeCreate方法->create方法执行完毕。而调用save方法的时候只会去触发beforeSave方法!