一种PHP开发方法及框架
技术领域
本发明涉及一种计算机技术,特别是涉及一种PHP开发方法及框架。
背景技术
PHP(Hypertext Preprocessor,超文本预处理器)是一种通用开源脚本语言。该语言的语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
PHP开发框架通过提供一个开发Web程序的基本架构将PHP Web程序开发摆到了流水线上。相似工程之间的代码重用能够节省开发者大量的时间和精力。PHP开发框架内置了预建的模块,免去了冗长又令人厌烦的编程工作。PHP开发框架有助于促进快速软件开发,有助于创建更为稳定的程序。近几年来,随着PHP作为一门被许多开发者选作他们的脚本语言而不断演化,PHP开发框架如雨后春笋般走上荧屏,目前行业内有很多PHP开发框架,但在框架的执行效率及灵活性方面都参差不齐,要么就是执行效率高但灵活性有所缺失,要么就是灵活性很好但执行效率低下,不能很好的满足开发者对框架的要求。
鉴于此,如何找到一种执行效率和灵活性的PHP开发框架成为了本领域技术人员亟待解决的问题。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种PHP开发方法及框架,用于解决现有技术中PHP开发方法及框架的执行效率及灵活性不能满足开发者要求的问题。
为实现上述目的及其他相关目的,本发明提供一种PHP开发方法,所述PHP开发方法包括:创建APP实例对象,根据预设的配置系统环境,将多个插件注册到服务容器以实现对所述插件的静态调用;从入口文件接收服务请求,加载核心组件;启动路由,并根据所述服务请求的内容将所述服务请求重定向到与所述内容相对应的控制器中,所述控制器根据所述服务请求的内容与模型以及服务容器进行交互,所述服务容器中根据所述服务请求的内容确定调用相应的插件;所述控制器根据与模型交互的结果以及所调用的插件生成视图文件。
可选地,所述插件包括数据库插件、邮件插件、图片插件、分页插件中的至少一种。
可选地,所述插件包括用户根据项目需要开发的插件。
可选地,所述服务请求的内容包括网络路径。
可选地,所述PHP开发方法还包括:服务容器将第一次调用的插件实例化成一个插件实例,并将所述插件实例缓存到数组中,对所述插件实例的后续调用将直接从所述数组中获取所述插件实例。
可选地,所述PHP开发方法还包括:将所述控制器、所述模型和所述视图文件放置在不同的目录中。
可选地,所述PHP开发方法还包括:将所述视图文件以WEB页面的方式显示到浏览器上。
本发明提供一种PHP开发框架,所述PHP开发框架包括:应用创建模块,用于创建APP实例对象,根据预设的配置系统环境,将多个插件注册到服务容器以实现对所述插件的静态调用;服务请求获取模块,用于从入口文件接收服务请求,加载核心组件;服务请求处理模块,用于启动路由,并根据所述服务请求的内容将所述服务请求重定向到与所述内容相对应的控制器中,所述控制器根据所述服务请求的内容与模型以及服务容器进行交互,所述服务容器中根据所述服务请求的内容确定调用相应的插件;服务请求反馈模块,用于所述控制器根据与模型交互的结果以及所获取的插件生成视图文件。
可选地,所述插件包括数据库插件、邮件插件、图片插件、分页插件中的至少一种。
可选地,所述插件包括用户根据项目需要开发的插件。
可选地,所述服务请求的内容包括网络路径。
可选地,所述服务请求处理模块还用于:服务容器将第一次调用的插件实例化成一个插件实例,并将所述插件实例缓存到数组中,对所述插件实例的后续调用将直接从所述数组中获取所述插件实例。
可选地,所述服务请求处理模块还用于:将所述控制器、所述模型和所述视图文件放置在不同的目录中。
可选地,所述服务请求反馈模块还用于:将所述视图文件以WEB页面的方式显示到浏览器上。
如上所述,本发明的一种PHP开发方法及框架,具有以下有益效果:服务容器使我们不管是在哪个位置都可以直接访问到所需插件,并不用实例化插件直接可以静态访问,以最简单的方式访问到插件。本发明大大提高了PHP开发框架执行效率和灵活性。
附图说明
图1显示为本发明的PHP开发方法的一实施例的流程示意图。
图2显示为本发明的PHP开发框架的一实施例的模块示意图。
图3显示为本发明的PHP开发框架的一实施例的架构示意图。
元件标号说明
1 PHP开发框架
11 应用创建模块
12 服务请求获取模块
13 服务请求处理模块
14 服务请求反馈模块
S1~S4 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明提供一种PHP开发方法。所述PHP开发方法可以应用于采用MVC模式的PHP开发框架中。MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。在一个实施例中,如图1所示,所述PHP开发方法包括:
步骤S1,创建APP实例对象,根据预设的配置系统环境,将多个插件注册到服务容器以实现对所述插件的静态调用。在一个实施例中,所述插件包括数据库插件、邮件插件、图片插件、分页插件中的至少一种。所述插件包括实现常用功能的插件;所述插件也可以包括用户根据项目需要开发的插件。APP,是Application的缩写,即指应用程序。
步骤S2,从入口文件接收服务请求,加载核心组件。
步骤S3,启动路由,并根据所述服务请求的内容将所述服务请求重定向到与所述内容相对应的控制器中,所述控制器根据所述服务请求的内容与模型以及服务容器进行交互,所述服务容器中根据所述服务请求的内容确定调用相应的插件。所述服务请求的内容包括网络路径。在一个实施例中,所述PHP开发方法还包括:服务容器将第一次调用的插件实例化成一个插件实例,并将所述插件实例缓存到数组中,对所述插件实例的后续调用将直接从所述数组中获取所述插件实例。
步骤S4,所述控制器根据与模型交互的结果以及所调用的插件生成视图文件。在一个实施例中,所述PHP开发方法还包括:将所述控制器、所述模型和所述视图文件放置在不同的目录中。在一个实施例中,所述PHP开发方法还包括:将所述视图文件以WEB页面的方式显示到浏览器上。WEB包括以下表现形式,即超文本(hypertext)、超媒体(hypermedia)、超文本传输协议(HTTP)等。
本发明提供一种PHP开发框架。所述PHP开发框架采用MVC模式。MVC全名是ModelView Controller,是模型(model)-视图(view)-控制器(controller)的缩写,它是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
在一个实施例中,如图2所示,所述PHP开发框架1包括应用创建模块11、服务请求获取模块12、服务请求处理模块13以及服务请求反馈模块14。其中:
应用创建模块11用于创建APP实例对象,根据预设的配置系统环境,将多个插件注册到服务容器以实现对所述插件的静态调用。在一个实施例中,所述插件包括数据库插件、邮件插件、图片插件、分页插件中的至少一种。所述插件包括实现常用功能的插件;所述插件也可以包括用户根据项目需要开发的插件。APP,是Application的缩写,即指应用程序。
服务请求获取模块12与应用创建模块11相连,用于从入口文件接收服务请求,加载核心组件。服务请求获取模块12将服务请求传递给服务请求处理模块13。所述服务请求的内容包括网络路径。在一个实施例中,所述服务请求获取模块12还包括:服务容器将第一次调用的插件实例化成一个插件实例,并将所述插件实例缓存到数组中,对所述插件实例的后续调用将直接从所述数组中获取所述插件实例。
服务请求处理模块13与服务请求获取模块12相连,用于启动路由,并根据所述服务请求的内容将所述服务请求重定向到与所述内容相对应的控制器中,所述控制器根据所述服务请求的内容与模型以及服务容器进行交互,所述服务容器中根据所述服务请求的内容确定调用相应的插件。
服务请求反馈模块14与服务请求处理模块13相连,用于所述控制器根据与模型交互的结果以及所获取的插件生成视图文件。在一个实施例中,所述PHP开发方法还包括:将所述控制器、所述模型和所述视图文件放置在不同的目录中。在一个实施例中,所述PHP开发方法还包括:将所述视图文件以WEB页面的方式显示到浏览器上。在网页设计中我们称为WEB网页的意思。在网络、互联网等技术领域。WEB包括以下表现形式,即超文本(hypertext)、超媒体(hypermedia)、超文本传输协议(HTTP)等。
在一个实施例中,PHP开发框架的架构如图3所示。其中,入口文件是应用程序所有请求的进入点。所有的服务请求都通过网页服务器配置导向这个文件。这个入口文件用来加载框架核心组件。创建一个APP对像实例。APP对像实例创建完成后,PHP开发框架会设置一些路径信息并运行环境检测,并根据预设的配置文件设置时区,错误报告等其他信息。除了配置这些配置选项以外,该配置文件脚本还注册所有应用程序配置的服务容器。服务容器注册完成后,所有的插件都可以在任何地方静态调用了。并把第一次的调用实例缓存到一个数组,下次调用后不用在从新实例化,直接从缓存数组里取出,以减小服务容器的压力。
然后启动路由,该路由器接收到服务请求后,根据服务请求中的网络路径重定向到相应的控制器类的方法。然后由控制器类接管,控制器与模型进行交互,与数据库进行通信。调用模型后,控制器呈现最终视图(HTML、CSS和图像)并返回完整的WEB页面到用户的浏览器。PHP框架把控制器,模型和视图文件放在不同的目录,让整个框架更加清晰。本框架中服务容器提供的插件是常用的功能。用户可以更据自已的项目需求开发自已的插件。
综上所述,本发明的一种PHP开发方法及框架采用了服务容器,使我们不管是在哪个位置都可以直接访问到所需插件,并不用实例化插件直接可以静态访问,以最简单的方式访问到插件。本发明大大提高了PHP开发框架执行效率和灵活性。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。