做个用户管理系统(35)——通过绑定邮箱重置密码【20201224】
介绍介绍福哥今天带着大家完成了通过绑定邮箱重置密码的后一部分功能——重置密码功能。这一部分功能的思路是这样的,首先点开发到邮箱里的邮件正文里面的重置链接,这是一个重置密码的表单页面,用户可以直接设置一个新密码。不过,这里面会校验传入的验证码是否有效,如果验证码有效的话才可以完成密码的重置操作。并且,如果密码重置成功后,验证码会被记录到...
阅读 49
做个用户管理系统(36)——使用安全问题重置密码【20201225】
介绍介绍福哥今天带着大家完成TFUMS系统的忘记密码功能的使用安全问题重置密码的前一部分功能的开发。使用安全问题重置密码相对比较简单了,我们只需要将用户设置过的安全问题的题目和答案取出来给用户答,如果用户能完全答对就表示用户是账号的所有者,我们就允许他来重置用户的登录密码了。验证安全问题需要注意几个问题:必须将三个问题都调出来给用户来...
阅读 43
做个用户管理系统(37)——通过安全问题重置密码【20201226】
介绍介绍福哥带着大家完成TFUMS的忘记密码功能的通过安全问题重置密码的后一部分功能的开发。这一部分的功能和通过绑定邮箱重置密码基本一样,福哥就不详细介绍了。大家可以对照着看【20201224】的介绍了解设计思路,基本上都是一样的设计。通过安全问题重置密码功能开发完成之后,我们的忘记密码功能就算全部完成了。随着忘记密码功能的竣工,我们...
阅读 37
做个用户管理系统(38)——经验总结之功能模块的设计要点【20201229】
介绍介绍福哥带着大家花费了将近40天的时间终于完成了TFUMS系统的开发。这个TFUMS系统是福哥带着大家完成的第二个PHP语言的项目,第一个PHP语言的项目是TFPHP框架。并且这个TFUMS系统是基于我们前面开发的TFPHP框架开发的。福哥想问问大家,这种从零开始的感觉是不是很爽啊?一般人带着做项目都是基于一些开源的框架进行的,而...
阅读 59
做个web框架(21)——HTTP客户端对象TFHttpClient的实现【20201230】
介绍介绍福哥今天带着大家给TFPHP框架添加一个非常重要的功能模块——TFHttpClient。在很多情况下,我们的控制器需要通过远程的方式调用接口上的数据或者功能,因为这些接口可能属于其他系统或者其他服务,从本地无法直接访问。这种通过远程方式访问接口就需要借助可以模拟浏览器进行网站访问工具对象来完成,因为网站或者平台是遵循HTTP协...
阅读 19
做个用户管理系统(31)——绑定邮箱和安全问题的状态【20201220】
介绍介绍前几课福哥带着大家完成了安全模块的绑定邮箱功能和安全问题功能,这两个功能一般情况下是不能修改的。但是,我们在开发完这两个功能之后并没有进行“锁定”处理。也就是说,重新进入绑定邮箱表单依然可以重新操作绑定邮箱,再次进入设置安全问题表单依然可以重新操作设置安全问题。这显然是一个问题,需要我们采取一些措施。要“锁定”安全模块的表单功...
阅读 49
做个web框架(22)——TFDO增加fetchTotal和fetchPart方法【20210105】
介绍介绍今天福哥带着大家给TFPHP框架的TFDO对象增加两个新方法——fetchTotal和fetchPart。这个fetchTotal方法用来获得输入SQL语句查询结果的记录集总数,而fetchPart方法用来从输入SQL语句查询结果的记录集里提取一部分记录出来。一般情况下这两个方法可以用来实现功能列表的数据分页功能,这个数据分页...
阅读 58
做个web框架(23)——TFDataPage分页技术的使用【20210106】
介绍介绍今天福哥带着大家给TFPHP框架增加一个新对象——TFDataPage,使用这个对象可以用来计算功能列表的分页参数。分页是一项技术,用来对功能列表里面的众多条数据记录进行分页处理。其原理是这样的,首先全部数据记录数量就是记录总数(Total);将全部数据记录根据一个固定数字进行等分处理,这个固定数字就是页长度(Page siz...
阅读 53
做个web框架(24)——TFModel设计基于Redis的高速缓存层实现系统加速【20210113】
介绍介绍福哥今天要带着大家给TFPHP框架的TFModel对象进行一次大的改造,福哥要给TFModel的数据读取环节增加一个缓存层,通过这一层缓存提高系统的整体运行效率。缓存层,其实就是数据副本,在开发里面我们称之为冗余数据,它就是将数据库里的数据取出来之后放到一个高速读写介质里面存储一份。这样以后再读取数据的时候可以优先从高速读写介...
阅读 36
做个web框架(25)——TFDO实现upsert方法功能【20210116】
介绍介绍今天福哥带着大家给TFPHP框架的TFDO对象添加一个很棒的方法——upsert。所谓的upsert其实是两个单纯融合到一起的一个伪单词,这两个单词分别为update和insert,这是两个完全不同的操作,那么upsert方法如何将这两个操作结合到一起的呢?首先我们了解一下upsert的最终目的,它的最终目的就是要保证数据表当...
阅读 24