[发明专利]一种基于Laravel框架的状态机的建模方法及终端有效
申请号: | 202110125085.6 | 申请日: | 2021-01-29 |
公开(公告)号: | CN112860354B | 公开(公告)日: | 2022-05-17 |
发明(设计)人: | 李智;唐光宇;闫乃永;卢学明;张友春;林凡 | 申请(专利权)人: | 宝宝巴士股份有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448;G06F9/48 |
代理公司: | 北京易捷胜知识产权代理事务所(普通合伙) 11613 | 代理人: | 黄骏鹏 |
地址: | 350028 福建省福州市仓山区建新镇金山大道*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 laravel 框架 状态机 建模 方法 终端 | ||
本发明涉及一种基于Laravel框架的状态机的建模方法及终端,包括:S1、创建一个状态机特性,状态机特性包括多种函数,在Laravel框架的模型中使用状态机特性;S2、在模型中定义模型状态集和迁移事件集,模型状态集配置了模型的不同状态类型,迁移事件集中配置了迁移事件的不同阶段的模型的状态;S3、实例化模型,将迁移事件集注册为模型自定义事件,状态机特性会在模型实例化时以及模型实例化后执行与其适配的函数;S4、当调用迁移事件集中的迁移事件后,状态机特性内的函数会随着迁移事件执行的不同阶段执行与其适配的函数,随着迁移事件执行的不同阶段会根据迁移事件集中的配置设定模型的状态。本发明能够快速创建具有状态机特性的模型,快速扩展模型功能。
技术领域
本发明涉及计算机软件领域,尤其涉及一种基于Laravel框架的状态机的建模方法及终端。
背景技术
Laravel是一个由Taylor Otwell所创建的开源PHP Web框架,旨在实现的Web软件的MVC架构,Laravel的特色包含:支持用户身份验证和许可,具有模块化的包系统且有专属的包库,提供连接许多种类的关连式数据库的方式,提供工具来协助应用程序的部署和维持,并且发展出许多语法糖,是PHP应用开发领域中较为流行的开发框架。
Laravel中的Elocquent,这是一个对象关系映射器(ORM),它使与数据库的交互变得非常便利。使用Elacutent时,每个数据库表都有一个对应的“模型”,用于与该表进行交互。除了从数据库表中检索记录之外,还可以从模型的表中插入、更新和删除记录。
Trait是PHP开发语言中的一种代码复用机制。Trait减少了单继承语言的限制,使开发人员能够自由地在不同层次结构的独立的类中复用method。Trait和Class组合的语义定义了一种减少复杂性的方式。
状态机是有限状态自动机的简称,是现实事物运行规则抽象而成的一个数学模型。一般由状态、迁移和校验器等组成,通过迁移来改变状态,并可在迁移前触发迁移前事件回调和迁移后触发迁移后事件回调,状态机在Web应用开发领域广泛使用,例如订单状态控制、任务状态控制等,通过使用状态机编程,能够使业务代码看起来更加简洁、简练、易于维护,易于管理,业务流程更加规范。
在Laravel的数据模型中是不支持原生的状态机编程的,如果用于开发类似订单、任务类等相对复杂、多状态和多流程的业务模型时,通常需要在多处进行业务逻辑的判断处理,常常会出现业务代码冗杂、不易于维护和可读性差等问题。另外,Laravel的模型默认事件仅有查询后事件、创建中事件、创建后事件、更新中事件、更新后事件、保存前事件、保存后事件、删除前事件和删除后事件等几个简单的数据操作事件,在复杂的业务模型中并不能有效、简单的注册自定义事件,从而既不能快速扩展模型的功能,又不能有效保证业务代码的可读性。
发明内容
(一)要解决的技术问题
为了解决现有技术的上述问题,本发明提供一种基于Laravel框架的状态机的建模方法及终端,能够快速扩展模型的功能。
(二)技术方案
为了达到上述目的,本发明采用的一种技术方案为:一种基于Laravel框架的状态机的建模方法,包括:
S1、创建一个状态机特性,所述状态机特性包括多种函数,在Laravel框架的模型中使用所述状态机特性;
S2、在所述模型中定义模型状态集和迁移事件集,所述模型状态集配置了所述模型的不同状态类型,所述迁移事件集中配置了迁移事件的不同阶段的模型的状态;
S3、实例化所述模型,将所述迁移事件集注册为模型自定义事件,所述状态机特性会在所述模型实例化时以及所述模型实例化后执行与其适配的函数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于宝宝巴士股份有限公司,未经宝宝巴士股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110125085.6/2.html,转载请声明来源钻瓜专利网。