php - 钩子函数和事务有什么区别?

查看:81
本文介绍了php - 钩子函数和事务有什么区别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

觉得都差不多? 是不是钩子函数出了什么意外就不会执行.

解决方案

钩子函数:可简单地理解为行为发生的点,比如登录过程(提交账号密码->验证账号密码->验证是否账号被锁->返回登录结果),你可以在上面四个步骤的任意一个点设置一个钩子,然后做扩展处理(比如我可能在验证账号密码这个点,我实现一个钩子函数,获取到提交的账号和密码是001/111,则将提交的数据改为"user_001/pass_111", 然后程序实际在数据库作对比的时候,比较的是user_001/pass_111这个账号密码)。
事务:更多地是指数据库级别的,比如一次交易过程。张三给李四打款100,会分成两步:1. 张三的账户扣100;2,李四的账户加100。那么我们必须保证这两个操作要么都成功,要么都失败,才算是正确的,这需要一个事务。事务就是把若干的小步骤当做一个整体的大步骤的东东。这若干的小步骤要么都成功,要么都失败,不允许一部分成功一部分失败。
事务的流程是:
1, 开启事务
2,依次执行小步骤a,b,c,d.....
3, 如果全部执行成功,提交事务(数据库永久保存所有变动)
4, 如果任意一个小步骤失败,回滚事务(数据库还原所做的数据变动,退回到开启事务之前的数据所处的状态)

这篇关于php - 钩子函数和事务有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆