在html代码如何添加php代码(php生成HTML文件的类方法)
在html代码如何添加php代码
php生成HTML文件的类方法目的
用PHP生成HTML文档, 支持标签嵌套缩进, 支持标签自定义属性
起因
这个东西确实也是心血来潮写的, 本来打算是输出HTML片段用的, 但后来就干脆写成了一个可以输出完整HTML的功能;
我很满意里边的实现缩进的机制, 大家有用到的可以看看
p.s. 现在都是真正的前后端分离了(vue, nodejs, webpack...), 这个东西喜欢就用, 不喜欢就算了~
支持的标签
html, head, meta, title, body, input, select/option, form, table, li, 注释, 以及 自定义标签(成对出现的标签), 还有一大堆属性(在下边有介绍)
实现
整体
1.每个标签都对应一个类, 比如 标签<html>, 对应了一个叫html的类
2.标签中有用到的属性, 我都放到了一个类中了, 并提供了方法去获取赋了值的属性
嵌套缩进
每个标签我都设计了一个类, 比如 table 标签, 就有一个叫table的类与之对应
每个类里边一般都有以下3个重要成员:
1.本标签的缩进值
2.输出本标签最终字符串的方法, out()
3.给本标签添加子标签的方发, append()
其中append()接收的是子标签的对象, 在最终调用$html->out()的时候, 每个子标签对象里的out()方法会被依次调用, 缩进值也会从上层类传递到最下层类并累加;
另外, 每个类都包含了属性类(calss attribute ), 每个类的缩进值是从属性类里继承而来的, 所以如果修改了属性类里的缩进量, 所有类的缩进量就跟着改变了
你也可以给标签类添加一个自己的缩进值来覆盖统一的缩进值
属性
我这里的方案是定义一个类(calss attribute ), 里边有
1.标签可能拥有的属性
2.对应的setXxx方法
3.组装非空的属性拼成字符串的方法
4.为了不影响下次显示, 会有专门的清空方法, 把之前赋值的属性都清空
这样的话, 在定义标签属性的时候, 需要的就赋上值, 不需要的不赋值就不会在最终的HTML代码中显示出来
源码
地址: https://gitee.com/myDcool/SummerHtml看其中的test.php文件,是介绍他的用法。
以上就是用php生成HTML文件的类的详细内容,更多请关注开心学习网其它相关文章
- html5滑动刷新(HTML5手指下滑弹出负一屏阻止移动端浏览器内置下拉刷新功能的实现代码)
- html元素和属性的区别(HTML5 HTMLCollection和NodeList的区别详解)
- html5怎么修改背景颜色(HTML5 body设置全屏背景图片的示例代码)
- html5关闭页面代码(HTML5页面无缝闪开的问题及解决方案)
- html5的canvas代码(H5最强接口之canvas实现动态图形功能)
- html5加入图片(HTML5 图片预加载的示例代码)
- html5的表单怎么写(HTML5新增form控件和表单属性实例代码详解)
- HTML5面试题
- html5应用的几个建议
- html radio样式(利用纯CSS自定义Checkbox和Radio的样式示例代码)
- html代码简单特效(HTML实现代码雨源码及效果示例)
- vue在html里面怎么展示图片(v-html渲染组件问题)
- 在html代码如何添加php代码(php生成HTML文件的类方法)
- webgl api 源码(基于 HTML5 WebGL 实现的医疗物流系统)
- 用html5做一个音乐的播放器(HTML5自定义mp3播放器源码)
- html5如何设置标签(HTML5中在title标题标签里设置小图标的方法)
- 销 售 买 卖 你真的了解这四个字了吗(销售买)
- 谢娜是得罪快乐大本营造型师了吗 全场被黑化(谢娜是得罪快乐大本营造型师了吗)
- 前《iLOOK》时装总监 《快乐大本营》御用造型师上线(快乐大本营御用造型师上线)
- 释小龙晒杀青照片 多重身份惹观众期待(释小龙晒杀青照片)
- 《九牛之人降魔传》开机 演员祁高坤化身九牛之人除魔卫道(九牛之人降魔传开机)
- 王铲铲的致富之路无限金币卡法攻略教学(王铲铲的致富之路无限金币卡法攻略教学)
热门推荐
- sql server 时间与日期函数(SQL Server日期加减函数DATEDIFF与DATEADD用法分析)
- SQL Server数据类型有哪些
- python小程序编程代码(python实现烟花小程序)
- echarts柱状图颜色设置(Echarts基本入门之柱状图、折线图通用配置)
- vsftpd详细配置(vsftpd匿名用户上传和下载的配置方法)
- h5支付接口第四方支付(h5移动端调用支付宝、微信支付的实现)
- 用户 IIS APPPOOLDefaultAppPool 登录失败的解决方法
- mysql出现的问题及解决方法(mysql升级到5.7时,wordpress导数据报错1067的问题)
- python开启多线程(python 多线程重启方法)
- css position详解(深究CSS定位position的常用技法)