一种PHP与HTML代码的混合开发方法及其系统转让专利

申请号 : CN201810052202.9

文献号 : CN108170436B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘安骞潘鸿威

申请人 : 上海锐垚科技有限公司

摘要 :

本发明公开了一种PHP与HTML代码的混合开发方法及其系统,其中方法包括如下步骤:创建目标模板,并为目标模板分配存储目录;目标模板获取基础源文件,基础源文件包括超文本标记语言HTML语句以及超文本预处理器PHP语句;一一对应HTML语句与PHP语句中功能相同的语句;解析PHP语句,使用HTML语句生成PHP输出语句;将PHP输出语句更新入目标模板;让PHP语句与HTML语句实现无缝对接,通过模板中程序对编程语言的解析与封装,让具有HTML语言的网页设计师经过短暂的培训具有一般的网页展示的开发能力,做到PHP开发工程师和网页设计师他们在项目建设中可以同步进行,并且代码维护可以做到各司其职,互不干涉的进行代码更改,减少了PHP项目团队开发成本。

权利要求 :

1.一种PHP与HTML代码的混合开发方法,其特征在于,包括如下步骤:创建目标模板,并为所述目标模板分配存储目录;

所述目标模板获取基础源文件,所述基础源文件包括超文本标记语言HTML语句以及超文本预处理器PHP语句;

一一对应所述HTML语句与所述PHP语句中功能相同的语句;

解析所述PHP语句,使用所述HTML语句生成PHP输出语句;

将所述PHP输出语句更新入所述目标模板;

所述解析所述PHP语句使用所述HTML语句生成PHP输出语句,还包括:在所述目标模板编译时,将无法解析出所述PHP语句的所述PHP输出语句转换成注释文本;

所述目标模板编译时显示所述注释文本;

所述将无法解析出所述PHP语句的所述PHP输出语句转换成注释文本,包括:使用HTML编译器对无法解析出所述PHP语句的所述PHP输出语句进行编译;

在所述注释文本内添加编译结果。

2.根据权利要求1所述的方法,其特征在于,所述解析所述PHP语句使用所述HTML语句生成PHP输出语句,还包括:去除所述PHP输出语句中的引用符号;

所述目标模板解析所述PHP语句时自动补充去除的所述引用符号。

3.根据权利要求2所述的方法,其特征在于,所述解析所述PHP语句使用所述HTML语句生成PHP输出语句,还包括:所述PHP输出语句保留所述HTML语句中的注释内容;

所述目标模板编译所述PHP输出语句时隐藏所述注释内容。

4.一种PHP与HTML代码的混合开发系统,其特征在于,包括:创建模块(100),用于创建目标模板并在服务器中为所述目标分配存储目录;

获取模块(200),用于使所述目标模板获取基础源文件,其中,所述基础源文件包括超文本标记语言HTML语句以及超文本预处理器PHP语句;

对应模块(300),用于一一对应所述HTML语句与所述PHP语句中功能相同的语句;

解析模块(400),用于解析所述PHP语句,使用所述HTML语句生成PHP输出语句;

更新模块(500),用于将所述PHP输出语句更新入所述目标模板;

所述解析模块(400)还包括:

转换单元(450),用于在所述目标模板编译时,将无法解析出所述PHP语句的所述PHP输出语句转换成注释文本;

显示单元(460),用于在所述目标模板编译时显示所述注释文本;

所述转换单元(450)还包括:

编译子单元(451),用于使用HTML编译器对无法解析出所述PHP语句的所述PHP输出语句进行编译;

添加子单元(452),用于在所述注释文本内添加编译结果。

5.根据权利要求4所述的系统,其特征在于,所述解析模块(400)还包括:去除单元(410),用于去除所述PHP输出语句中的引用符号;

补充单元(420),用于使所述目标模板解析所述PHP语句时自动补充去除的所述引用符号。

6.根据权利要求5所述的系统,其特征在于,所述解析模块(400)还包括:保留单元(430),用于使所述PHP输出语句保留所述HTML语句中的注释内容;

隐藏单元(440),用于使所述目标模板编译所述PHP输出语句时隐藏所述注释内容。

说明书 :

一种PHP与HTML代码的混合开发方法及其系统

技术领域

[0001] 本发明涉及PHP与HTML开发技术领域,更具体地说,它涉及一种PHP与HTML代码的混合开发方法及其系统。

背景技术

[0002] 在使用HTML语言的网页设计师进行网页开发时,为了获得更好的网页体验,常常需要使用PHP语言进行编程,因为用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
[0003] 不过使用HTML语言的网页设计师需要去花费大量额外的精力去学习PHP语言,并且在使用PHP语言时常常会出错,所以会配备有PHP项目团队去检查网页中的错误与漏洞,开发成本高,且效率低下。

发明内容

[0004] 本发明技术方案所解决的技术问题为,使用HTML语言的网页设计师需要去花费大量额外的精力去学习PHP语言,并且在使用PHP语言时常常会出错,所以会配备有PHP项目团队去检查网页中的错误与漏洞,开发成本高,且效率低下。
[0005] 为实现上述目的,本发明技术方案提供了一种PHP与HTML代码的混合开发方法,包括如下步骤:
[0006] 创建目标模板,并为所述目标模板分配存储目录;
[0007] 所述目标模板获取基础源文件,所述基础源文件包括超文本标记语言HTML语句以及超文本预处理器PHP语句;
[0008] 一一对应所述HTML语句与所述PHP语句中功能相同的语句;
[0009] 解析所述PHP语句,使用所述HTML语句生成PHP输出语句;
[0010] 将所述PHP输出语句更新入所述目标模板。
[0011] 通过上述技术方案,结合PHP语句与HTML语句,生成PHP输出语句,PHP输出语句的语法与HTML语法相同,当目标模板编译后会将PHP输出语句解析为PHP语句,从而让PHP语句与HTML语句实现无缝对接,通过模板中程序对编程语言的解析与封装,让具有HTML语言的网页设计师经过短暂的培训具有一般的网页展示的开发能力,做到PHP开发工程师和网页设计师他们在项目建设中可以同步进行,并且代码维护可以做到各司其职,互不干涉的进行代码更改,减少了PHP项目团队开发成本。
[0012] 进一步的,所述解析所述PHP语句使用所述HTML语句生成PHP输出语句,还包括:
[0013] 去除所述PHP输出语句中的引用符号;
[0014] 所述目标模板解析所述PHP语句时自动补充去除的所述引用符号。
[0015] 通过上述技术方案,PHP语句中具有大量的引用符号,去除引号能够减小网页设计师的编程负担,让网页设计师能投入更多的精力到网页界面设计上去,利于提高设计产品的质量。
[0016] 进一步的,所述解析所述PHP语句使用所述HTML语句生成PHP输出语句,还包括:
[0017] 所述PHP输出语句保留所述HTML语句中的注释内容;
[0018] 所述目标模板编译所述PHP输出语句时隐藏所述注释内容。
[0019] 通过上述技术方案,将注释内容保存,利于让PHP人员在运维的时候能快速地了解网页设计师的设计思想,无需从代码上去猜测网页设计师的设计思想,而在目标模板编译后则隐藏注释内容,避免注释内容影响网页设计的效果。
[0020] 进一步的,所述解析所述PHP语句使用所述HTML语句生成PHP输出语句,还包括:在所述目标模板编译时,将无法解析出所述PHP语句的所述PHP输出语句转换成注释文本;所述目标模板编译时显示所述注释文本。
[0021] 通过上述技术方案,无法解析出PHP语句的PHP输出语句为网页设计师输入错误的PHP输出语句,将此类PHP输出语句转化为注释文本能让其不会对其它正常程序产生不良印象,例如避免错误语句影响正确语句对缓存文件的操作,利于提升程序的稳定性。
[0022] 进一步的,所述将无法解析出所述PHP语句的所述PHP输出语句转换成注释文本,包括:
[0023] 使用HTML编译器对无法解析出所述PHP语句的所述PHP输出语句进行编译;
[0024] 在所述注释文本内添加编译结果。
[0025] 通过上述技术方案,网页设计师在编码时会在潜意识中输入HTML语句,对无法解析出PHP语句的PHP输出语句,使用HTML编译器进行编辑,并将编译结果以文本的形式输出,从而不会漏过网页设计师的逻辑与想法,方便网页设计师的复查工作,也利于程序的运维工作,同时还能辨别出网页设计师的语法错误与逻辑错误,没有编译结果的为语法错误,有编译结果的为逻辑错误。
[0026] 为了解决上述技术问题,本发明技术方案还提供了一种PHP与HTML代码的混合开发系统,包括:
[0027] 创建模块,用于创建目标模板并在服务器中为所述目标分配存储目录;
[0028] 获取模块,用于使所述目标模板获取基础源文件,其中,所述基础源文件包括超文本标记语言HTML语句以及超文本预处理器PHP语句;
[0029] 对应模块,用于一一对应所述HTML语句与所述PHP语句中功能相同的语句;
[0030] 解析模块,用于解析所述PHP语句,使用所述HTML语句生成PHP输出语句;
[0031] 更新模块,用于将所述PHP输出语句更新入所述目标模板。
[0032] 进一步的,所述解析模块还包括:
[0033] 去除单元,用于去除所述PHP输出语句中的引用符号;
[0034] 补充单元,用于使所述目标模板解析所述PHP语句时自动补充去除的所述引用符号。
[0035] 进一步的,所述解析模块还包括:
[0036] 保留单元,用于使所述PHP输出语句保留所述HTML语句中的注释内容;
[0037] 隐藏单元,用于使所述目标模板编译所述PHP输出语句时隐藏所述注释内容。
[0038] 进一步的,所述解析模块还包括:
[0039] 转换单元,用于在所述目标模板编译时,将无法解析出所述PHP语句的所述PHP输出语句转换成注释文本;
[0040] 显示单元,用于在所述目标模板编译时显示所述注释文本。
[0041] 进一步的,所述转换单元还包括:
[0042] 编译子单元,用于使用HTML编译器对无法解析出所述PHP语句的所述PHP输出语句进行编译;
[0043] 添加子单元,用于在所述注释文本内添加编译结果。
[0044] 本发明技术方案的有益效果至少包括:通过结合PHP语句与HTML语句,生成PHP输出语句,PHP输出语句的语法与HTML语法相同,当目标模板编译后会将PHP输出语句解析为PHP语句,从而让PHP语句与HTML语句实现无缝对接,通过模板中程序对编程语言的解析与封装,让具有HTML语言的网页设计师经过短暂的培训具有一般的网页展示的开发能力,做到PHP开发工程师和网页设计师他们在项目建设中可以同步进行,并且代码维护可以做到各司其职,互不干涉的进行代码更改,减少了PHP项目团队开发成本。
[0045] 网页设计师在编码时会在潜意识中输入HTML语句,对无法解析出PHP语句的PHP输出语句,使用HTML编译器进行编辑,并将编译结果以文本的形式输出,从而不会漏过网页设计师的逻辑与想法,方便网页设计师的复查工作,也利于程序的运维工作,同时还能辨别出网页设计师的语法错误与逻辑错误,没有编译结果的为语法错误,有编译结果的为逻辑错误。

附图说明

[0046] 图1为本发明实施例一的方法流程示意图;
[0047] 图2为本发明实施例一S4的方法流程示意图;
[0048] 图3为本发明实施例一S45的方法流程示意图;
[0049] 图4为本发明实施例二的结构框图;
[0050] 图5为本发明实施例二解析模块的框图;
[0051] 图6为本发明实施例二转换单元的框图。
[0052] 附图标记:100、创建模块;200、获取模块;300、对应模块;400、解析模块;410、去除单元;420、补充单元;430、保留单元;440、隐藏单元;450、转换单元;451、编译子单元;452、添加子单元;460、显示单元;500、更新模块。

具体实施方式

[0053] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0054] 实施例一
[0055] 结合本发明技术方案的上述发明思路,一种PHP与HTML代码的混合开发方法,如图1所示,包括如下步骤:
[0056] 步骤S1:创建目标模板,并为目标模板分配存储目录。
[0057] 本发明基于WEB动态脚本技术,目标模板存放及调用规则如下:目标模板存放于系统template目录,或者template目录下的一个目录。在实际运用中,template/default/即为一套目标模板,目标模板文件以.htm为扩展名,可直接存放于存储目录,例如template/default/index.htm。也可以存放于存储目录的子目录里,例如template/default/member/index.htm。在PHP文件里,使用模板语法为<?phpincludetemplate('index');?>或者<?phpincludetemplate('index','member');?>。如果当前默认模板套系为default,则:<?phpincludetemplate('header');?>表示使用template/default/header.htm。模板文件<?phpincludetemplate('header','member');?>表示使用template/default/member/header.htm模板文件。these.name.php是目标模板别名的配置文件,模板别名可以在后台模板管理修改。目标模板解析后的缓存文件保存于cache/tpl/目录,扩展名为.tpl.php。上述设定目标存储的方式利于网页设计师在编程时使用目标模板,或者切换直接使用HTML语句。
[0058] 步骤S2:目标模板获取基础源文件,基础源文件包括超文本标记语言HTML语句以及超文本预处理器PHP语句。
[0059] 步骤S3:一一对应HTML语句与PHP语句中功能相同的语句。
[0060] 步骤S4:解析PHP语句,使用HTML语句生成PHP输出语句。
[0061] 先将超文本标记语言HTML语句以及超文本预处理器PHP语句合并成基础源文件,然后将基础源文件导入目标模板中。网页设计师在使用目标目标时需要添加包含模板的语句{template'header'}或{template'header','member'},其中,{template'header'}被解析为<?php include template('header');?>,表示使用template/default/header.htm模板文件。{template'header','member'}被解析为<?php include template('header','member');?>,表示使用template/default/member/header.htm模板文件。
[0062] 在目标模板中,有如下解析实例:
[0063] 函数{func_name($par1,$par2)}被解析为<?phpfunc_name($par1,$par2);?>;
[0064] PHP表达式{php expression}被解析为<?phpexpression?>;
[0065] 条件语句{if$a=='b'}do A{/if}或{if$a=='b'}do A{else}do B{/if}或{if$a=='b'}do A{elseif$b=='c'}do C{else}do B{/if}中,{if$a=='b'}do A{/if}被解析为<?php if($a=='b'){do A}?>,{if$a=='b'}do A{else}do B{/if}被解析为<?php if($a=='b'){do A}else{do B}?>,{if$a=='b'}do A{elseif$b=='c'}do C{else}do B{/if}被解析为<?php if($a=='b'){do A}else if($b=='c'){do C}else{do B}?>。
[0066] LOOP循环{loop$var$v}...{loop}被解析为<?php if(is_array($var)){foreach($var as$v){...}}?>,{loop$var$k$v}...{loop}被解析为<?php if(is_array($var)){foreach($var as$k=>$v){...}}?>。
[0067] 如图2所示,其中步骤S4还包括步骤S41、步骤S42、步骤S43、步骤S44、步骤S45或者步骤S46。
[0068] 步骤S41:去除PHP输出语句中的引用符号。
[0069] 步骤S42:目标模板解析PHP语句时自动补充去除的引用符号。
[0070] 在表示变量或者常量时,变量{$ep360}被解析为<?php echo$ep360;?>,常量{EP360}被解析为<?php echo EP360;?>。对于数组,标准写法应为{$ep360['index']},可简写为{$ep360[index]},模板在解析时会自动追加引号。PHP语句中具有大量的引用符号,去除引号能够减小网页设计师的编程负担,让网页设计师能投入更多的精力到网页界面设计上去,利于提高设计产品的质量。
[0071] 步骤S43:PHP输出语句保留HTML语句中的注释内容。
[0072] 步骤S44:目标模板编译PHP输出语句时隐藏注释内容。
[0073] 模板可以用<!--[注释内容]-->,进行注释,模板编译时会自动去除,不会显示在页面中。将注释内容保存,利于让PHP人员在运维的时候能快速地了解网页设计师的设计思想,无需从代码上去猜测网页设计师的设计思想,而在目标模板编译后则隐藏注释内容,避免注释内容影响网页设计的效果。
[0074] 步骤S45:在目标模板编译时,将无法解析出PHP语句的PHP输出语句转换成注释文本。无法解析出PHP语句的PHP输出语句为网页设计师输入错误的PHP输出语句,将此类PHP输出语句转化为注释文本能让其不会对其它正常程序产生不良印象,例如避免错误语句影响正确语句对缓存文件的操作,利于提升程序的稳定性。
[0075] 如图3所示,其中步骤S45还包括步骤S451或者步骤S452。
[0076] 步骤S451:使用HTML编译器对无法解析出PHP语句的PHP输出语句进行编译。
[0077] 步骤S452:在注释文本内添加编译结果。网页设计师在编码时会在潜意识中输入HTML语句,对无法解析出PHP语句的PHP输出语句,使用HTML编译器进行编辑,并将编译结果以文本的形式输出,从而不会漏过网页设计师的逻辑与想法,方便网页设计师的复查工作,也利于程序的运维工作,同时还能辨别出网页设计师的语法错误与逻辑错误,没有编译结果的为语法错误,有编译结果的为逻辑错误。
[0078] 步骤S46:目标模板编译时显示注释文本。
[0079] 步骤S5:将PHP输出语句更新入目标模板。
[0080] 本发明技术方案通过结合PHP语句与HTML语句,生成PHP输出语句,PHP输出语句的语法与HTML语法相同,当目标模板编译后会将PHP输出语句解析为PHP语句,从而让PHP语句与HTML语句实现无缝对接,通过模板中程序对编程语言的解析与封装,让具有HTML语言的网页设计师经过短暂的培训具有一般的网页展示的开发能力,做到PHP开发工程师和网页设计师他们在项目建设中可以同步进行,并且代码维护可以做到各司其职,互不干涉的进行代码更改,减少了PHP项目团队开发成本。把展示功能进行封装成一个模板类,把常见的展示,循环读取,模板文件读取复杂的功能统一做成方法封装到类中,统一语言格式给网页设计师使用,可以大大团队开发效率,提高100%以上。
[0081] 实施例二
[0082] 结合本发明技术方案的上述发明思路,一种PHP与HTML代码的混合开发系统,如图4所示,包括:
[0083] 创建模块100,用于创建目标模板并在服务器中为目标分配存储目录。
[0084] 获取模块200,用于使目标模板获取基础源文件,其中,基础源文件包括超文本标记语言HTML语句以及超文本预处理器PHP语句。
[0085] 对应模块300,用于一一对应HTML语句与PHP语句中功能相同的语句。
[0086] 解析模块400,用于解析PHP语句,使用HTML语句生成PHP输出语句。
[0087] 更新模块500,用于将PHP输出语句更新入目标模板。
[0088] 如图5所示,其中,解析模块400还包括:
[0089] 去除单元410,用于去除PHP输出语句中的引用符号。
[0090] 补充单元420,用于使目标模板解析PHP语句时自动补充去除的引用符号。
[0091] 保留单元430,用于使PHP输出语句保留HTML语句中的注释内容。
[0092] 隐藏单元440,用于使目标模板编译PHP输出语句时隐藏注释内容。
[0093] 转换单元450,用于在目标模板编译时,将无法解析出PHP语句的PHP输出语句转换成注释文本。如图6所示,其中转换单元450还包括编译子单元451与添加子单元452。编译子单元451用于使用HTML编译器对无法解析出PHP语句的PHP输出语句进行编译,添加子单元452用于在注释文本内添加编译结果。
[0094] 显示单元460,用于在目标模板编译时显示注释文本。
[0095] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0096] 以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。