CN112395843B - 一种基于php代码的业务处理方法、装置及设备和介质 - Google Patents

一种基于php代码的业务处理方法、装置及设备和介质 Download PDF

Info

Publication number
CN112395843B
CN112395843B CN202011279612.0A CN202011279612A CN112395843B CN 112395843 B CN112395843 B CN 112395843B CN 202011279612 A CN202011279612 A CN 202011279612A CN 112395843 B CN112395843 B CN 112395843B
Authority
CN
China
Prior art keywords
annotation
preset
annotation information
information
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011279612.0A
Other languages
English (en)
Other versions
CN112395843A (zh
Inventor
夏玮
范渊
苗春雨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DBAPPSecurity Co Ltd
Original Assignee
DBAPPSecurity Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by DBAPPSecurity Co Ltd filed Critical DBAPPSecurity Co Ltd
Priority to CN202011279612.0A priority Critical patent/CN112395843B/zh
Publication of CN112395843A publication Critical patent/CN112395843A/zh
Application granted granted Critical
Publication of CN112395843B publication Critical patent/CN112395843B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Devices For Executing Special Programs (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本申请公开了一种基于PHP代码的业务处理方法、装置及设备和存储介质,该方法包括:获取到客户端发送的业务请求后,在PHP源代码中查找用于响应业务请求的执行方法;检测执行方法中是否存在预先编写的预设注释信息;若存在预设注释信息,则将预设注释信息转换为标准数据结构的目标注释信息;根据目标注释信息,利用执行器执行预设业务逻辑,以便对业务请求进行响应。本申请可提供内置的注释信息替换用于实现辅助功能的铅板代码,在实际执行时再从源代码中获取注释信息,并利用执行器执行预设业务逻辑,实现相应的辅助功能,将辅助功能代码从源代码中分离,有效解决了业务代码与辅助功能代码的耦合问题,使项目逻辑清晰,提高了代码的可读性。

Description

一种基于PHP代码的业务处理方法、装置及设备和介质
技术领域
本申请涉及计算机软件技术领域,更具体地说,涉及一种基于PHP代码的业务处理方法、装置及一种电子设备和一种计算机可读存储介质。
背景技术
PHP(Hypertext Preprocessor,超级文本预处理语言)是一种在服务端执行的嵌入HTML文档的脚本语言。PHP官方并未提供类似JAVA的注解功能,只提供PHPDOC来生成文档的注释。PHPDOC是一种注释PHP代码的正式标准,用于帮助集成开发环境理解变量类型和弱类型语言中的其他歧义并提供改进的代码完成类型提示和除错功能。由于没有内置元注解和注解概念,所以主流的开源框架很少使用注释去设计功能,导致PHP代码中辅助代码与业务代码耦合度高,无法有效地统一管理和合理复用,使得项目变得臃肿,可读性降低。
因此,如何解决上述问题是本领域技术人员需要重点关注的。
发明内容
本申请的目的在于提供一种基于PHP代码的业务处理方法、装置及一种电子设备和一种计算机可读存储介质,解决了业务代码与辅助功能代码之间的耦合问题,提高了代码的可读性。
为实现上述目的,本申请提供了一种基于PHP代码的业务处理方法,包括:
当获取到客户端发送的业务请求后,在PHP源代码中查找用于响应所述业务请求的执行方法;
检测所述执行方法中是否存在预先编写的预设注释信息;
若所述执行方法中存在所述预设注释信息,则将所述预设注释信息转换为标准数据结构的目标注释信息;
根据所述目标注释信息,利用对应的执行器执行预设业务逻辑,以便对所述业务请求进行响应。
可选的,所述检测所述执行方法中是否存在预先编写的预设注释信息,包括:
通过PHP反射机制,或C语言词法识别所述执行方法对应的源码中是否存在预先编写的预设注释信息。
可选的,所述将所述预设注释信息转换为标准数据结构的目标注释信息,包括:
对所述预设注释信息中的注释参数和注释连接点位置进行有效性验证;
若有效性验证通过,则获取所述预设注释信息中的有效内容和关联的上下文信息;
将所述有效内容和所述上下文信息转换为标准数据结构的目标注释信息,所述目标注释信息包括:注释修饰的类名、注释修饰的方法名、注释定义的类名和注释参数。
可选的,所述对所述预设注释信息中的注释参数和注释连接点位置进行有效性验证之前,还包括:
根据所述预设注释信息的标识信息,在注释缓存器中查找是否存在已解析的注释内容;其中,所述注释缓存器用于存储已解析的预设注释信息及上下文信息;
如果否,则执行所述对所述预设注释信息中的注释参数和注释连接点位置进行有效性验证的步骤;
如果是,则直接获取所述预设注释信息对应的目标注释信息。
可选的,所述根据所述目标注释信息,利用对应的执行器执行预设业务逻辑,包括:
获取所述目标注释信息中的基础注释关键词,所述基础注释关键词包括:用于定义在注释修饰的方法前/后执行的第一类关键词、用于定义在注释修饰的方法返回预设值后执行的第二类关键词以及用于定义在注释修饰的方法抛出异常后执行的第三类关键词;
根据所述目标注释信息和所述基础注释关键词,利用对应的执行器在指定方法连接点执行预设业务逻辑。
可选的,还包括:
获取管理后台编写的自定义注释类以及对应的自定义执行器,以便实现所述自定义注释类对应的扩展业务功能。
为实现上述目的,本申请提供了一种基于PHP代码的业务处理装置,包括:
方法查找模块,用于当获取到客户端发送的业务请求后,在PHP源代码中查找用于响应所述业务请求的执行方法;
注释检测模块,用于检测所述执行方法中是否存在预先编写的预设注释信息;
注释转换模块,用于若所述执行方法中存在所述预设注释信息,则将所述预设注释信息转换为标准数据结构的目标注释信息;
逻辑执行模块,用于根据所述目标注释信息,利用对应的执行器执行预设业务逻辑,以便对所述业务请求进行响应。
可选的,所述逻辑执行模块,包括:
获取单元,用于获取所述目标注释信息中的基础注释关键词,所述基础注释关键词包括:用于定义在注释修饰的方法前/后执行的第一类关键词、用于定义在注释修饰的方法返回预设值后执行的第二类关键词以及用于定义在注释修饰的方法抛出异常后执行的第三类关键词;
执行单元,用于根据所述目标注释信息和所述基础注释关键词,利用对应的执行器在指定方法连接点执行预设业务逻辑。
为实现上述目的,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现前述公开的任一种基于PHP代码的业务处理方法的步骤。
为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述公开的任一种基于PHP代码的业务处理方法的步骤。
通过以上方案可知,本申请提供的一种基于PHP代码的业务处理方法,包括:当获取到客户端发送的业务请求后,在PHP源代码中查找用于响应所述业务请求的执行方法;检测所述执行方法中是否存在预先编写的预设注释信息;若所述执行方法中存在所述预设注释信息,则将所述预设注释信息转换为标准数据结构的目标注释信息;根据所述目标注释信息,利用对应的执行器执行预设业务逻辑,以便对所述业务请求进行响应。由上可知,本申请可提供内置的注释信息替换用于实现辅助功能的铅板代码,在实际执行时再从源代码中获取注释信息,并利用执行器执行预设的业务逻辑,实现相应的辅助功能,将辅助功能代码从源代码中分离出来,有效解决了业务代码与辅助功能代码之间的耦合问题,使项目逻辑清晰,提高了代码的可读性。
本申请还公开了一种基于PHP代码的业务处理装置及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种基于PHP代码的业务处理方法的流程图;
图2为本申请实施例公开的一种具体的基于PHP代码的业务处理方法的流程图;
图3为本申请实施例公开的一种基于PHP代码的业务处理装置的结构图;
图4为本申请实施例公开的一种电子设备的结构图;
图5为本申请实施例公开的另一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在现有技术中,PHP官方并未提供类似JAVA的注解功能,只提供PHPDOC来生成文档的注释,由此PHP代码中辅助代码与业务代码耦合度高,无法有效地统一管理和合理复用,导致项目变得臃肿,可读性降低。
因此,本申请实施例公开了一种基于PHP代码的业务处理方法,解决了业务代码与辅助功能代码之间的耦合问题,提高了代码的可读性。
参见图1所示,本申请实施例公开的一种基于PHP代码的业务处理方法包括:
S101:当获取到客户端发送的业务请求后,在PHP源代码中查找用于响应所述业务请求的执行方法;
本申请实施例中,可接收客户端发送的业务请求,并在获取到请求后,从PHP源代码中查找用于响应当前业务请求的执行方法。例如,若用户发送一个请求到百度的服务器时,则在源代码中查找用于搜索的方法。
S102:检测所述执行方法中是否存在预先编写的预设注释信息;
在本步骤中,可检测执行方法对应的源代码中是否存在预先编写的预设注释信息。具体地,可通过PHP反射机制,或C语言词法识别执行方法对应的源码中是否存在预先编写的预设注释信息。
S103:若所述执行方法中存在所述预设注释信息,则将所述预设注释信息转换为标准数据结构的目标注释信息;
若上述步骤中,检测到执行方法中存在预设注释信息,则可将预设注释信息转换为标准数据结构的目标注释信息。
在具体实施中,上述将预设注释信息转换为标准数据结构的目标注释信息的过程可以包括:对预设注释信息中的注释参数和注释连接点位置进行有效性验证;若有效性验证通过,则获取预设注释信息中的有效内容和关联的上下文信息;将有效内容和所述上下文信息转换为标准数据结构的目标注释信息,其中,目标注释信息可以包括但不限于:注释修饰的类名、注释修饰的方法名、注释定义的类名和注释参数。
作为一种优选的实施方式,为避免对注释信息的重复解析,可在对预设注释信息中的注释参数和注释连接点位置进行有效性验证之前,首先根据预设注释信息的标识信息,在注释缓存器中查找是否存在已解析的注释内容;其中,注释缓存器用于存储已解析的预设注释信息及上下文信息;若注释缓存器中不存在已解析的注释内容,则继续执行对预设注释信息中的注释参数和注释连接点位置进行有效性验证的步骤;若注释缓存器中存在已解析的注释内容,则直接获取预设注释信息对应的目标注释信息。也即,在每次解析完注释信息后,可将其保存至注释缓存器中,后续即可在注释信息解析前,先在注释缓存器中查找该注释信息是否已解析过,如果已经解析过,则可利用之前解析过的信息,无需重复解析。
S104:根据所述目标注释信息,利用对应的执行器执行预设业务逻辑,以便对所述业务请求进行响应。
可以理解的是,在得到标准数据格式的目标注释信息之后,即可利用对应的执行器,根据目标注释信息执行预设业务逻辑,从而实现相应的辅助功能,最终对业务请求进行相应。具体地,一个注释信息对应一个执行器,执行器用于执行定义好的业务逻辑,也可以不做逻辑实现。若不做逻辑实现,即没有定义执行器的业务逻辑,则会执行空的逻辑操作,表征注释为一段普通的解释文本。例如,若存在一个注释信息@output,映射到对应的执行器后,执行器可定义操作逻辑为“print‘XX’”,那么可在注释信息中获取用于定义‘XX’的内容,以执行对应的输出逻辑。若执行器中未定义任何操作逻辑,则注释信息为一段文本解释信息。
具体地,上述根据目标注释信息,利用对应的执行器执行预设业务逻辑的过程可以包括:获取目标注释信息中的基础注释关键词,所述基础注释关键词可以包括但不限于:用于定义在注释修饰的方法前/后执行的第一类关键词、用于定义在注释修饰的方法返回预设值后执行的第二类关键词以及用于定义在注释修饰的方法抛出异常后执行的第三类关键词;根据目标注释信息和基础注释关键词,利用对应的执行器在指定方法连接点执行预设业务逻辑。
在一种优选的实施方式中,本实施例还可对注释进行自定义扩展。例如,可获取管理后台编写的自定义注释类以及对应的自定义执行器,以便实现自定义注释类对应的扩展业务功能。
通过以上方案可知,本申请提供的一种基于PHP代码的业务处理方法,包括:当获取到客户端发送的业务请求后,在PHP源代码中查找用于响应所述业务请求的执行方法;检测所述执行方法中是否存在预先编写的预设注释信息;若所述执行方法中存在所述预设注释信息,则将所述预设注释信息转换为标准数据结构的目标注释信息;根据所述目标注释信息,利用对应的执行器执行预设业务逻辑,以便对所述业务请求进行响应。由上可知,本申请可提供内置的注释信息替换用于实现辅助功能的铅板代码,在实际执行时再从源代码中获取注释信息,并利用执行器执行预设的业务逻辑,实现相应的辅助功能,将辅助功能代码从源代码中分离出来,有效解决了业务代码与辅助功能代码之间的耦合问题,使项目逻辑清晰,提高了代码的可读性。
下面通过一种具体的实施场景对本申请实施例提供的基于PHP代码的业务处理方法进行介绍。参见图2所示,具体地,本实施例预先定义了***,用于获取源码中的注释信息。当获取到客户端发送的业务请求后,可利用***根据请求路由定位到执行类和对应的方法,并获取其中的注释信息。获取注释信息时,可通过适配器模式兼容三方原生注释扩展支持,选择获取注释的方式。例如,可以使用自研或三方PHP扩展在C语言词法分析增加对注释的支持,以提高代码的解析性能,***可通过C语言词法识别或PHP的反射机制识别方式获取源码中的注释信息。PHP反射机制,具体包括一套API(Application ProgramInterface,应用程序接口),其中添加了对类、接口、函数、方法和扩展进行反向工程的能力,并提供了方法用于取出函数、类和方法中的文档注释。
在获取到注释信息之后,可利用解析器将注释内容转化成统一标准数据结构,用于对接执行器。在具体实现中,解析器可包括三个核心组件:校验器,用于验证注释参数的有效性和注释连接点的位置是否有效;核心解析器,用于获取注释的有效内容和关联的上下文信息;以及注释缓存器,用于存储已被解析的注释和它们的上下文信息,避免重复解析。统一标准数据结构的注释内容可具体包括:注释修饰的类名、注释修饰的方法名、注释定义的类名和注释的参数。
当解析器输出转换后的统一标准数据结构的注释信息至执行器后,执行器将进行相应的业务逻辑处理。需要指出的是,执行器的职责是处理注释所要替代的业务。可以预设默认执行的逻辑,也可以不做逻辑实现。该方法实现可被继承或重写。作为一种可选的实施方式,用于可以自行实现执行器,通过参数传入,指定具体的执行器去处理特定的业务。
需要说明的是,本实施例在具体的应用层面,针对方法级别的连接点定义了基础注释关键词,具体可以为“@”加上注释名的格式。连接点,是AOP(Aspect OrientedProgramming,面向切面编程)中的一个概念,具体指一个程序的执行点,可作用于类,方法,参数和属性等。基础注释关键词可包括但不限于:@before:在注释修饰的方法前执行;@after:在注释修饰的方法后执行;@success:在注释修饰的方法返回true时执行;@failed:在注释修饰的方法返回false或null时执行;@exception:在注释修饰的方法抛异常时执行。上述基础注释关键词可应用于入参校验、出参格式化、异常处理、日志记录等场景。
进一步地,还本实施例可以提供扩展自定义注释的功能。也即,用户可以根据自身业务需求构造注释类,并进行自定义属性和语义的设置。若使用的注释与PHPDOC格式不一致,可自行实现解析器,获取其中的注释信息,并设计执行器中处理逻辑,完成注释需替代的功能,最后在源码方法上使用自定义的注释关键词。
本申请实施例中,基于AOP编程思想对PHP代码进行重构,利用内置的注释信息替换铅板代码,使研发人员只需关注业务逻辑本身,将辅助代码从业务逻辑中剥离出去,便于进行统一的管理和维护,既减少了重复代码,又避免了和具体辅助业务实现的耦合。同时还通过适配,兼容三方扩展或将来官方扩展的支持,在运行性能上提供了提升的可能,具备良好的功能通用性和可扩展性。
下面对本申请实施例提供的一种基于PHP代码的业务处理装置进行介绍,下文描述的一种基于PHP代码的业务处理装置与上文描述的一种基于PHP代码的业务处理方法可以相互参照。
参见图3所示,本申请实施例提供的一种基于PHP代码的业务处理装置包括:
方法查找模块201,用于当获取到客户端发送的业务请求后,在PHP源代码中查找用于响应所述业务请求的执行方法;
注释检测模块202,用于检测所述执行方法中是否存在预先编写的预设注释信息;
注释转换模块203,用于若所述执行方法中存在所述预设注释信息,则将所述预设注释信息转换为标准数据结构的目标注释信息;
逻辑执行模块204,用于根据所述目标注释信息,利用对应的执行器执行预设业务逻辑,以便对所述业务请求进行响应。
关于上述模块201至204的具体实施过程可参考前述实施例公开的相应内容,在此不再进行赘述。
在上述实施例的基础上,作为一种优选实施方式,本申请实施例中的所述逻辑执行模块204可以具体包括:
获取单元,用于获取所述目标注释信息中的基础注释关键词,所述基础注释关键词包括:用于定义在注释修饰的方法前/后执行的第一类关键词、用于定义在注释修饰的方法返回预设值后执行的第二类关键词以及用于定义在注释修饰的方法抛出异常后执行的第三类关键词;
执行单元,用于根据所述目标注释信息和所述基础注释关键词,利用对应的执行器在指定方法连接点执行预设业务逻辑。
本申请还提供了一种电子设备,参见图4所示,本申请实施例提供的一种电子设备包括:
存储器100,用于存储计算机程序;
处理器200,用于执行所述计算机程序时可以实现上述实施例所提供的步骤。
具体的,存储器100包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机可读指令,该内存储器为非易失性存储介质中的操作***和计算机可读指令的运行提供环境。处理器200在一些实施例中可以是一中央处理器(CentralProcessing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,为电子设备提供计算和控制能力,执行所述存储器100中保存的计算机程序时,可以实现前述任一实施例公开的基于PHP代码的业务处理方法。
在上述实施例的基础上,作为优选实施方式,参见图5所示,所述电子设备还包括:
输入接口300,与处理器200相连,用于获取外部导入的计算机程序、参数和指令,经处理器200控制保存至存储器100中。该输入接口300可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是键盘、触控板或鼠标等。
显示单元400,与处理器200相连,用于显示处理器200处理的数据以及用于显示可视化的用户界面。该显示单元400可以为LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。
网络端口500,与处理器200相连,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术(MHL)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术等。
图5仅示出了具有组件100-500的电子设备,本领域技术人员可以理解的是,图5示出的结构并不构成对电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本申请还提供了一种计算机可读存储介质,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述任一实施例公开的基于PHP代码的业务处理方法。
本申请可提供内置的注释信息替换用于实现辅助功能的铅板代码,在实际执行时再从源代码中获取注释信息,并利用执行器执行预设的业务逻辑,实现相应的辅助功能,将辅助功能代码从源代码中分离出来,有效解决了业务代码与辅助功能代码之间的耦合问题,使项目逻辑清晰,提高了代码的可读性。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的***而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (9)

1.一种基于PHP代码的业务处理方法,其特征在于,包括:
当获取到客户端发送的业务请求后,在PHP源代码中查找用于响应所述业务请求的执行方法;
检测所述执行方法中是否存在预先编写的预设注释信息;
若所述执行方法中存在所述预设注释信息,则将所述预设注释信息转换为标准数据结构的目标注释信息;
根据所述目标注释信息,利用对应的执行器执行预设业务逻辑,以便对所述业务请求进行响应;
所述将所述预设注释信息转换为标准数据结构的目标注释信息,包括:
对所述预设注释信息中的注释参数和注释连接点位置进行有效性验证;
若有效性验证通过,则获取所述预设注释信息中的有效内容和关联的上下文信息;
将所述有效内容和所述上下文信息转换为标准数据结构的目标注释信息,所述目标注释信息包括:注释修饰的类名、注释修饰的方法名、注释定义的类名和注释参数。
2.根据权利要求1所述的业务处理方法,其特征在于,所述检测所述执行方法中是否存在预先编写的预设注释信息,包括:
通过PHP反射机制或C语言词法识别所述执行方法对应的源码中是否存在预先编写的预设注释信息。
3.根据权利要求1所述的业务处理方法,其特征在于,所述对所述预设注释信息中的注释参数和注释连接点位置进行有效性验证之前,还包括:
根据所述预设注释信息的标识信息,在注释缓存器中查找是否存在已解析的注释内容;其中,所述注释缓存器用于存储已解析的预设注释信息及上下文信息;
如果否,则执行所述对所述预设注释信息中的注释参数和注释连接点位置进行有效性验证的步骤;
如果是,则直接获取所述预设注释信息对应的目标注释信息。
4.根据权利要求1至3任一项所述的业务处理方法,其特征在于,所述根据所述目标注释信息,利用对应的执行器执行预设业务逻辑,包括:
获取所述目标注释信息中的基础注释关键词,所述基础注释关键词包括:用于定义在注释修饰的方法前/后执行的第一类关键词、用于定义在注释修饰的方法返回预设值后执行的第二类关键词以及用于定义在注释修饰的方法抛出异常后执行的第三类关键词;
根据所述目标注释信息和所述基础注释关键词,利用对应的执行器在指定方法连接点执行预设业务逻辑。
5.根据权利要求4所述的业务处理方法,其特征在于,还包括:
获取管理后台编写的自定义注释类以及对应的自定义执行器,以便实现所述自定义注释类对应的扩展业务功能。
6.一种基于PHP代码的业务处理装置,其特征在于,包括:
方法查找模块,用于当获取到客户端发送的业务请求后,在PHP源代码中查找用于响应所述业务请求的执行方法;
注释检测模块,用于检测所述执行方法中是否存在预先编写的预设注释信息;
注释转换模块,用于若所述执行方法中存在所述预设注释信息,则将所述预设注释信息转换为标准数据结构的目标注释信息;
逻辑执行模块,用于根据所述目标注释信息,利用对应的执行器执行预设业务逻辑,以便对所述业务请求进行响应;
所述注释转换模块具体用于若所述执行方法中存在所述预设注释信息,则对所述预设注释信息中的注释参数和注释连接点位置进行有效性验证;
若有效性验证通过,则获取所述预设注释信息中的有效内容和关联的上下文信息;
将所述有效内容和所述上下文信息转换为标准数据结构的目标注释信息,所述目标注释信息包括:注释修饰的类名、注释修饰的方法名、注释定义的类名和注释参数。
7.根据权利要求6所述的业务处理装置,其特征在于,所述逻辑执行模块,包括:
获取单元,用于获取所述目标注释信息中的基础注释关键词,所述基础注释关键词包括:用于定义在注释修饰的方法前/后执行的第一类关键词、用于定义在注释修饰的方法返回预设值后执行的第二类关键词以及用于定义在注释修饰的方法抛出异常后执行的第三类关键词;
执行单元,用于根据所述目标注释信息和所述基础注释关键词,利用对应的执行器在指定方法连接点执行预设业务逻辑。
8.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述基于PHP代码的业务处理方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述基于PHP代码的业务处理方法的步骤。
CN202011279612.0A 2020-11-16 2020-11-16 一种基于php代码的业务处理方法、装置及设备和介质 Active CN112395843B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011279612.0A CN112395843B (zh) 2020-11-16 2020-11-16 一种基于php代码的业务处理方法、装置及设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011279612.0A CN112395843B (zh) 2020-11-16 2020-11-16 一种基于php代码的业务处理方法、装置及设备和介质

Publications (2)

Publication Number Publication Date
CN112395843A CN112395843A (zh) 2021-02-23
CN112395843B true CN112395843B (zh) 2024-04-09

Family

ID=74600462

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011279612.0A Active CN112395843B (zh) 2020-11-16 2020-11-16 一种基于php代码的业务处理方法、装置及设备和介质

Country Status (1)

Country Link
CN (1) CN112395843B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113157721B (zh) * 2021-03-03 2024-07-12 北京中安星云软件技术有限公司 基于php扩展pdo实现应用访问和数据库访问行为关联的方法
CN112988593B (zh) * 2021-04-13 2024-02-06 苏州沁游网络科技有限公司 代码分析方法、装置、计算机设备及存储介质
CN113434582B (zh) * 2021-06-24 2023-01-03 平安国际智慧城市科技股份有限公司 业务数据处理方法、装置、计算机设备和存储介质
CN115629762A (zh) * 2022-10-11 2023-01-20 北京远舢智能科技有限公司 一种json数据处理方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106919434A (zh) * 2017-03-22 2017-07-04 恒生电子股份有限公司 一种代码生成方法及装置
CN110716798A (zh) * 2019-09-29 2020-01-21 微梦创科网络科技(中国)有限公司 一种php定时任务管理方法及***

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106919434A (zh) * 2017-03-22 2017-07-04 恒生电子股份有限公司 一种代码生成方法及装置
CN110716798A (zh) * 2019-09-29 2020-01-21 微梦创科网络科技(中国)有限公司 一种php定时任务管理方法及***

Also Published As

Publication number Publication date
CN112395843A (zh) 2021-02-23

Similar Documents

Publication Publication Date Title
CN112395843B (zh) 一种基于php代码的业务处理方法、装置及设备和介质
US8601438B2 (en) Data transformation based on a technical design document
US11556697B2 (en) Intelligent text annotation
WO2021017735A1 (zh) 一种智能合约的形式化验证方法、电子装置及存储介质
US7739588B2 (en) Leveraging markup language data for semantically labeling text strings and data and for providing actions based on semantically labeled text strings and data
US8316353B2 (en) Problem analysis via matching contiguous stack trace lines to symptom rules
CN112015430A (zh) JavaScript代码翻译方法、装置、计算机设备及存储介质
US20050229156A1 (en) Filter-based comments in source code
JP2007509411A (ja) データ駆動型コマンドライン出力を提供する機構
US10133766B2 (en) Accessing and editing virtually-indexed message flows using structured query langauge (SQL)
CN101751281A (zh) 编译器生成***和方法
US20080005182A1 (en) Changing documents to include changes made to schemas
JP2023541186A (ja) 可視化ページレンダリング方法、装置、機器及び記憶媒体
US20150106701A1 (en) Input support method and information processing system
US8397158B1 (en) System and method for partial parsing of XML documents and modification thereof
US20150106478A1 (en) File handlers supporting dynamic data streams
CN111783401A (zh) 字符串处理方法及装置、计算机存储介质、电子设备
CN111913922B (zh) 二进制结构化日志的生成方法、装置、设备及存储介质
CN113962597A (zh) 一种数据分析方法、装置、电子设备及存储介质
US20180314683A1 (en) Method and device for processing natural language
US8434072B2 (en) Automatic retrieval of translated messages for interacting with legacy systems
US20060282820A1 (en) COBOL syntax for native XML file parsing and file generation
US9354870B2 (en) Maintaining integrity of output of code generators
EP3506130B1 (en) Data extracting system and method
US9524307B2 (en) Asynchronous error checking in structured documents

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant