一种PHP文件访问方法及装置与流程

文档序号:20077632发布日期:2020-03-10 09:55阅读:147来源:国知局
一种PHP文件访问方法及装置与流程

本发明涉及计算机技术领域,特别是涉及一种php文件访问方法及装置。



背景技术:

php(hypertextpreprocessor,超文本预处理器)是一种通用开源脚本语言。该语言的语法吸收了c语言、java和perl的特点,利于学习,使用广泛,主要适用于web开发领域。在php项目开发过程中,需要从服务器中调用php文件实现基础功能的开发。

现有技术中,php文件访问通常是基于restful的微服务框架或者mvc设计模式的php框架,基于上述两种框架访问php文件的基本流程是:当客户端请求php文件时,服务器会根据接收到的请求依据扩展名等过滤规则将php文件请求传递给php解析进程,php解析进程会调用php解析器读取磁盘上对应的php文件,并加载到内存中以供访问。基于现有技术,每次访问php文件时,都要经历php文件查找、解析、加载到内存的过程,导致php文件的访问速度和执行效率都很低,进而导致php的项目开发效率也很低。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的php文件访问方法及装置,可以提高php文件的访问速度及执行效率。

根据本发明的一个方面,提高了一种php文件的访问方法,包括:

预先对php文件进行解析,将解析后的所述php文件加载到内存中长期保存;

在需要访问所述php文件时,确定所述php文件对应的标签;

基于所述标签在所述内存中查找到解析后的所述php文件,并访问解析后的所述php文件。

可选地,所述标签编写在所述php文件的注解中,且与所述php文件具有一一对应关系。

可选地,所述在需要访问所述php文件时,确定所述php文件对应的标签,包括:

预先在硬盘中确定保存所述php文件的顶级文件夹;

创建入口文件,由所述入口文件预先对所述顶级文件夹下的所述php文件进行扫描,确定编写在所述php文件的注解中的所述标签;

在所述入口文件中保存所述php文件与所述标签的一一对应关系;

将所述入口文件加载到内存中长期保存;

在需要访问所述php文件时,在所述入口文件中进行查找,确定所述标签。

可选地,在确定编写在所述php文件的注解中的所述标签时,如果所述标签与其他php文件对应的标签产生了冲突,则生成错误异常信息并显示

可选地,所述基于所述标签在所述内存中查找到解析后的所述php文件,并访问解析后的所述php文件,包括:

基于所述标签确定解析后的所述php文件在所述内存中的存储地址;

基于所述存储地址在所述内存中访问解析后的所述php文件。

可选地,所述php文件包括php类文件和/或php方法文件。

根据本发明的另一个方面,还提供了一种php文件访问装置,包括:

解析模块,用于预先对php文件进行解析,将解析后的所述php文件加载到内存中长期保存;

确定模块,用于在需要访问所述php文件时,确定所述php文件对应的标签;

查找模块,用于基于所述标签在所述内存中查找到解析后的所述php文件,并访问解析后的所述php文件。

可选地,所述标签编写在所述php文件的注解中,且与所述php文件具有一一对应关系。

可选地,所述确定模块,包括:

第一确定单元,用于预先在硬盘中确定保存所述php文件的顶级文件夹;

创建单元,用于创建入口文件,由所述入口文件预先对所述顶级文件夹下的所述php文件进行扫描,确定编写在所述php文件的注解中的所述标签;

保存单元,用于在所述入口文件中保存所述php文件与所述标签的一一对应关系;

加载单元,用于将所述入口文件加载到内存中长期保存;

第二确定单元,用于在需要访问所述php文件时,在所述入口文件中进行查找,确定所述标签。

可选地,在确定编写在所述php文件的注解中的所述标签时,如果所述标签与其他php文件对应的标签产生了冲突,则生成错误异常信息并显示。

可选地,所述查找模块,包括:

第三确定单元,用于基于所述标签确定解析后的所述php文件在所述内存中的存储地址;

访问单元,用于基于所述存储地址在所述内存中访问解析后的所述php文件。

可选地,所述php文件包括php类文件和/或php方法文件。

根据本发明实施例的再一方面,还提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序代码,当所述计算机程序代码在计算设备上运行时,导致所述计算设备执行根据上文中任一项所述的php文件访问方法。

根据本发明实施例的又一方面,还提供了一种计算设备,包括:

处理器;以及

存储有计算机程序代码的存储器;

当所述计算机程序代码被所述处理器运行时,导致所述计算设备执行根据上文中任一项所述的php文件访问方法。

本发明提出的php文件访问方法及装置,会预先对php文件解析,并将解析后的php文件加载到内存中长期保存,使得后续访问php文件时,只要确定php文件的标签,即可以直接基于该标签在内存中查找到解析后的php文件,并访问解析后的文件,不必每次提出访问请求后,对php文件进行硬盘查找、解析、加载到内存,本发明的方法大大提高了php文件的访问速度以及执行效率,相应的提高了php项目的开发效率。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。

附图说明

通过阅读下文可选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出可选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1是根据本发明一个实施例的php文件访问方法的处理流程图;

图2是根据本发明一个实施例的php文件访问装置的结构示意图;

图3是根据本发明一个可选实施例的php文件访问装置的结构示意图;

图4是根据本发明另一个可选实施例的php文件访问装置的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

需要说明的是,在不冲突的前提下本发明实施例及可选实施例中的技术特征可以相互结合。

php(hypertextpreprocessor,超文本预处理器)是一种通用开源脚本语言。语法吸收了c语言、java和perl的特点,利于学习,使用广泛,主要适用于web开发领域。php独特的语法混合了c、java、perl以及php自创的语法。它可以比cgi或者perl更快速地执行动态网页。用php做出的动态页面与其他的编程语言相比,php是将程序嵌入到html(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成html标记的cgi要高许多;php还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

但是,每次访问php文件时,都要经历php文件查找、解析、加载到内存的过程,导致php文件的访问速度和执行效率都很低,进而导致php的项目开发效率也很低。

为了解决现有技术中由于php文件访问速度慢而导致的php文件执行效率低的问题,本发明实施例提供了一种php文件方法访问方法,能够尽可能的提高php的访问速度。下面通过具体的实施例进行详细说明。

图1是根据本发明一个实施例的php文件访问方法的处理流程图,如图1所示,根据本发明实施例的php文件访问方法包括:

步骤s102:预先对php文件进行解析,将解析后的php文件加载到内存中长期保存;

步骤s104:在需要访问php文件时,确定该php文件对应的标签;

步骤s106:基于该标签在内存中查找到解析后的php文件,并访问解析后的php文件。

本发明实施例提供了一种php文件访问方法,会预先对php文件解析,并将解析后的php文件加载到内存中长期保存,使得后续访问php文件时,只要确定php文件的标签,即可以直接基于该标签在内存中查找到解析后的php文件,并访问解析后的文件,不必每次提出访问请求后,都对php文件进行硬盘查找、解析、加载到内存,提高了php文件的访问速度以及执行效率,相应的提高了php项目的开发效率。

未经解析、加载到内存中的php文件是无法供用户进行直接访问的,而每次发送访问请求后再对php文件解析、加载到内存中会导致访问过程很漫长。而在上述步骤s102中,预先对php文件进行解析,将解析后的php文件加载到内存中长期保存,可以使用户基于访问请求直接访问到内存中解析后的php文件,大大提高了php文件的访问速度;另外,解析后的php文件长期保存于内存中使得之后即便是对已访问过的php文件进行多次访问,也可以基于访问请求直接访问到内存中已解析的php文件,长时间的保证了php文件的访问速度。

上述步骤s104中,与php文件对应的标签编写在php文件的注解中,并且与php文件具有一一对应关系。其中,php文件的标签是在最初编写php文件时,在php文件的注解位置编写的,用于唯一地标识出该php文件。为php文件设置标签的自由度很高,不会受到php文件硬盘中保存路径的限制,只要其可以唯一地标识出该php文件即可。

其中,php文件的标签里可以包括与其对应的php文件的功能信息。现有基于rustful的微服务php框架是将php的路由信息进行统一配置,与其不同的是,根据本实施例中为php文件编写的标签使得用户可以根据确定的标签直接获取到对应的php文件在内存中的存储地址,进而访问到相应的php文件,不需要费力寻找php文件的存储地址,可以提高php文件的访问速度。

上述标签除了包括php的功能信息之外,还可以包括一些与其对应的php文件的其他相关信息,例如php文件占用的内存大小,本发明在此不对php标签包括的信息做具体限制。

在一个可选实施例中,步骤s104可以包括:预先在在硬盘中确定保存php文件的顶级文件夹;创建入口文件,由该入口文件预先对上述顶级文件夹下的php文件进行扫描,确定编写在php文件的注解中的所述标签;在上述入口文件中保存所述php文件与所述标签的一一对应关系;并将上述入口文件加载到内存中长期保存;在需要访问php文件时,在上述入口文件中查找,确定相应的标签。

在本可选实施例中,硬盘中所有的php文件都保存于顶级文件夹中,使得入口文件无需在本地硬盘中对php文件进行一一的寻找,而是可以直接对顶级文件夹内所有的php文件注解处编写的标签进行反射解析,获得php文件与标签的一一对应关系,并将其保存,这样提高了入口文件确定编写在php文件的注解中的标签的效率,使得入口文件可以更加快速的将php与标签之间的一一对应关系保存起来。

创建的入口文件相当于php文件的目录,入口文件中包含了顶级文件夹下所有php文件与其标签的对应关系,基于入口文件即可实现对顶级文件夹下任一php文件的访问。而将保存有php文件与标签一一对应关系的入口文件加载到内存,则可以进一步加快对php文件访问速度。

在一个可选实施例中,入口文件在确定编写在php文件的注解中的标签时,如果确定的标签与其他php文件对应的标签产生了冲突,则生成错误异常信息并显示。

其中,标签产生冲突的情况主要包括标签重复的情况,不同的php文件是由不同的编程人员编写的,在为php文件编写标签时,是有一定的几率不同的编程人员采用了相同的标签,或者同一个编程人员也有可能重复使用了标签。入口文件可以在一开始确定编写在php文件的注解中的标签时,就需要确定所有存在于顶级文件夹下的php文件的标签是否有产生冲突的情况,并相应地生成错误异常信息显示出来,使得管理人员可以及时更改,以避免了用户根据标签找不到自己想要的php文件的情况。

在一个可选实施例中,步骤s208可以包括:基于步骤s206中确定的标签确定解析后的php文件在内存中的存储地址;基于该存储地址在内存中访问解析后的php文件。

标签的主要作用就是当解析后的php文件已经加载并保存在在内存中后,依旧可以通过标签查找解析后的php文件在内存中的存储地址。而在确定了解析后的php文件在内存中的存储地址之后,其可以直接基于这个地址访问解析后的php文件。而不必像现有技术中,用户首先需要确定php文件在硬盘中的存储地址,再将找到的php文件解析,加载到内存中,对于需要频繁访问php文件的情况,本发明大大提高了php文件的访问速度,进而提高了php文件的执行效率。

在一个可选实施例中,php文件包括php类文件和/或php方法文件,其中,php类文件的标签编写在php类文件注解中,php方法文件的标签编写在php方法文件的注解中。

可选地,入口文件可以对顶级文件夹执行定期扫描,确定顶级文件夹中是否有新增的php文件。若确认顶级文件夹中有新增的php文件,入口文件则对其进行反射解析,获得新增的php文件以及标签的对应关系并将其保存,之后,入口文件还会将新增php文件的消息通知给服务器,由服务器对所述php文件解析、加载至内存中。其中入口文件对顶级文件夹执行定期扫描的时间间隔可以是几秒钟,也可以是几分钟,本发明对其不做具体限制。

基于本发明获取php文件的具体流程是:预先在本地硬盘中创建用于保存php文件的顶级文件夹,然后将顶级文件夹内的所有php文件进行统一解析处理,并将解析后的所有php文件加载到内存中长期保存,创建的入口文件会预先对顶级文件夹下的文件进行反射解析,确定编写在php注解中的标签,并保存php文件与标签的一一对应关系,当接收到关于php文件的访问请求时,在入口文件中进行查找,确定相对应的标签,再基于查找到的标签获取相应的内存存储地址,进而直接访问已经保存在内存中的php文件。

基于同一发明构思,本发明实施例还提供了一种php文件访问装置。图2示出了根据本发明一个实施例的php文件访问装置的结构示意图,参见图2,php文件访问装置200至少包括解析模块210、确定模块220、查找模块230。

先介绍本发明实施例的php文件访问装置的各组成或器件的功能以及各部分间的连接关系:

解析模块210,用于预先对php文件进行解析,将解析后的所述php文件加载到内存中长期保存;

确定模块220,与解析模块210耦合,用于在需要访问所述php文件时,确定所述php文件对应的标签;

查找模块230,与确定模块220耦合,用于基于所述标签在所述内存中查找到解析后的所述php文件,并访问解析后的所述php文件。

基于本实施例提供的php文件访问装置200,可以根据标签直接对内存中解析后的php文件进行访问,不必每次提出访问请求后,对php文件进行硬盘查找、解析、加载到内存。大大提高了php文件的访问速度以及php文件的执行效率,进一步提高了php项目的开发效率。

在本发明一可选实施例中,上述标签编写在php文件的注解中,且与php文件具有一一对应关系。

在本发明一可选实施例中,参见图3,上述确定模块220,包括:

第一确定单元221,与解析模块210耦合,用于预先在硬盘中确定保存php文件的顶级文件夹;

创建单元222,与第一确定单元221耦合,用于创建入口文件,由入口文件预先对顶级文件夹下的php文件进行扫描,确定编写在php文件的注解中的标签;

保存单元223,与创建单元222耦合,用于在入口文件中保存php文件与标签的一一对应关系;

加载单元224,与保存单元223耦合,用于将入口文件加载到内存中长期保存;

第二确定单元225,与加载单元224耦合,用于在需要访问php文件时,在入口文件中进行查找,确定标签。

在本发明一可选实施例中,在确定编写在php文件的注解中的标签时,如果标签与其他php文件对应的标签产生了冲突,则生成错误异常信息并显示。

在本发明一可选实施例中,参见图4,上述查找模块230,包括:

第三确定单元231,与第二确定单元225耦合,用于基于标签确定解析后的php文件在内存中的存储地址;

访问单元232,与第三确定单元231耦合,用于基于存储地址在内存中访问解析后的php文件。

在本发明一可选实施例中,php文件包括php类文件和/或php方法文件。

依据本发明的再一方面,还提供了一种计算机存储介质,计算机存储介质存储有计算机程序代码,当计算机程序代码在计算设备上运行时,导致计算设备执行上述任意实施例中的php文件统计方法。

依据本发明的又一方面,还提供了一种计算设备,包括处理器;存储有计算机程序代码的存储器;当计算机程序代码被处理器运行时,导致计算设备执行上述任意实施例中的php文件统计方法。

本发明实施例提供了一种高效的php文件统计方法和装置,基于本发明实施例提供的方法中,预先对php文件进行解析,将解析后的php文件加载到内存中长期保存,使得用户在访问php文件时,可以基于获取的标签直接对解析后的php文件进行访问,使得不必提出访问请求后,才对php文件进行硬盘查找、解析、加载到内存,并且解析后的文件长期在内存中保存可以使得即便是对相同的文件进行多次访问,也可以直接访问到内存中解析后的php文件,大大提高了php文件的访问速度以及php文件的执行效率。编写在php文件注解中的标签与php文件一一对应使得用户可以直接根据入口文件中的标签查找到对应的php文件。顶级文件夹的创建可以使得入口文件无需在本地硬盘中一一查找php文件,进一步提高了效率。当php文件的标签产生了冲突,会生成错误异常信息并显示使得管理人员可以及时对冲突的信息进行调整修改,不影响用户的访问速度。

所属领域的技术人员可以清楚地了解到,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,为简洁起见,在此不做赘述。

另外,在本发明各个实施例中的各功能单元可以物理上相互独立,也可以两个或两个以上功能单元集成在一起,还可以全部功能单元都集成在一个处理单元中。上述集成的功能单元既可以采用硬件的形式实现,也可以采用软件或者固件的形式实现。

本领域普通技术人员可以理解:所述集成的功能单元如果以软件的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,其包括若干指令,用以使得一台计算设备(例如个人计算机,服务器,或者网络设备等)在运行所述指令时执行本发明各实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom)、随机存取存储器(ram),磁碟或者光盘等各种可以存储程序代码的介质。

或者,实现前述方法实施例的全部或部分步骤可以通过程序指令相关的硬件(诸如个人计算机,服务器,或者网络设备等的计算设备)来完成,所述程序指令可以存储于一计算机可读取存储介质中,当所述程序指令被计算设备的处理器执行时,所述计算设备执行本发明各实施例所述方法的全部或部分步骤。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:在本发明的精神和原则之内,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案脱离本发明的保护范围。

根据本发明实施例的一个方面,提供了一种a1.一种php文件访问方法,包括:

预先对php文件进行解析,将解析后的所述php文件加载到内存中长期保存;

在需要访问所述php文件时,确定所述php文件对应的标签;

基于所述标签在所述内存中查找到解析后的所述php文件,并访问解析后的所述php文件。

a2.根据a1所述的方法,其中,所述标签编写在所述php文件的注解中,且与所述php文件具有一一对应关系。

a3.根据a2所述的方法,其中,所述在需要访问所述php文件时,确定所述php文件对应的标签,包括:

预先在硬盘中确定保存所述php文件的顶级文件夹;

创建入口文件,由所述入口文件预先对所述顶级文件夹下的所述php文件进行扫描,确定编写在所述php文件的注解中的所述标签;

在所述入口文件中保存所述php文件与所述标签的一一对应关系;

将所述入口文件加载到内存中长期保存;

在需要访问所述php文件时,在所述入口文件中进行查找,确定所述标签。

a4.根据a3所述的方法,其中,在确定编写在所述php文件的注解中的所述标签时,如果所述标签与其他php文件对应的标签产生了冲突,则生成错误异常信息并显示。

a5.根据a1-a4任一项所述的方法,其中,所述基于所述标签在所述内存中查找到解析后的所述php文件,并访问解析后的所述php文件,包括:

基于所述标签确定解析后的所述php文件在所述内存中的存储地址;

基于所述存储地址在所述内存中访问解析后的所述php文件。

a6.根据a1-a4任一项所述的方法,其中,所述php文件包括php类文件和/或php方法文件。

根据本发明实施例的另一个方面,还提供了b7.一种php文件访问装置,包括:

解析模块,用于预先对php文件进行解析,将解析后的所述php文件加载到内存中长期保存;

确定模块,用于在需要访问所述php文件时,确定所述php文件对应的标签;

查找模块,用于基于所述标签在所述内存中查找到解析后的所述php文件,并访问解析后的所述php文件。

b8.根据b7所述的装置,其中,所述标签编写在所述php文件的注解中,且与所述php文件具有一一对应关系。

b9.根据b8所述的装置,其中,所述确定模块,包括:

第一确定单元,用于预先在硬盘中确定保存所述php文件的顶级文件夹;

创建单元,用于创建入口文件,由所述入口文件预先对所述顶级文件夹下的所述php文件进行扫描,确定编写在所述php文件的注解中的所述标签;

保存单元,用于在所述入口文件中保存所述php文件与所述标签的一一对应关系;

加载单元,用于将所述入口文件加载到内存中长期保存;

第二确定单元,用于在需要访问所述php文件时,在所述入口文件中进行查找,确定所述标签。

b10.根据b9所述的装置,其中,在确定编写在所述php文件的注解中的所述标签时,如果所述标签与其他php文件对应的标签产生了冲突,则生成错误异常信息并显示。

b11.根据b7-b10任一项所述的装置,其中,所述查找模块,包括:

第三确定单元,用于基于所述标签确定解析后的所述php文件在所述内存中的存储地址;

访问单元,用于基于所述存储地址在所述内存中访问解析后的所述php文件。

b12.根据b7-b10任一项所述的装置,其中,所述php文件包括php类文件和/或php方法文件。

根据本发明实施例的另一个方面,还提供了c13.一种计算机存储介质,所述计算机存储介质存储有计算机程序代码,当所述计算机程序代码在计算设备上运行时,导致所述计算设备执行a1-a6任一项所述的php文件访问方法。

根据本发明实施例的另一个方面,还提供了d14.一种计算设备,包括:处理器;

存储有计算机程序代码的存储器;

当所述计算机程序代码被所述处理器运行时,导致所述计算设备执行a1-a6任一项所述的php文件访问方法。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1