在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文件的类的详细内容,更多请关注开心学习网其它相关文章
- html53d效果代码(HTML5 直播疯狂点赞动画实现代码 附源码)
- html5图片上下滚动(HTML5 图片悬停放大的实现代码示例)
- html5 canvas 性能(基于html5 canvas做批改作业的小插件)
- HTML5中新增的Input类型
- html5导入图片文件(HTML5 实现图片上传预处理功能)
- html5新增全局属性(HTML5自定义属性的问题分析)
- html5的表单怎么写(HTML5新增form控件和表单属性实例代码详解)
- html5基础知识入门(萌新HTML5 入门指南二)
- html5 postMessage(html5关于外链嵌入页面通信问题postMessage解决跨域通信)
- html5图片做背景代码(Html5之webcoekt播放JPEG图片流)
- 在html代码如何添加php代码(php生成HTML文件的类方法)
- html的meta标签
- 制作共用的头部和底部html5界面(html5移动端价格输入键盘的实现)
- react怎么添加动态html(react中的DOM操作实现)
- html5 固定图片(HTML5拖放API实现自动生成相框功能)
- html正确的颜色表达方式(HTML文本属性&颜色控制属性的实现)
- 浙江省一个县,人口超40万,建县历史超1100年(浙江省一个县人口超40万)
- 五代十国南唐历代国君(五代十国南唐历代国君)
- 飞机引进工程师杨隆 匠人匠心,只争朝夕(飞机引进工程师杨隆)
- 三人行,她们是育人路上的 铁三角 团队(她们是育人路上的)
- 阴阳师 孟婆山兔CP不倒 新皮肤草稿 孟婆兔 让痒痒鼠点赞(阴阳师孟婆山兔CP不倒)
- 阴阳师孟婆御魂推荐 孟婆御魂搭配毕业套(阴阳师孟婆御魂推荐)
热门推荐
- mysql数据库三种模式(MySQL数据库是如何实现XA规范的)
- js特效星空(ThingJS粒子特效一键实现雨雪效果)
- antdesignpro引入依赖如何使用(在Ant Design Pro登录功能中集成图形验证码组件的方法步骤)
- pycharm如何自定义模板(对Pycharm创建py文件时自定义头部模板的方法详解)
- event.keycode的值
- socket和tcp什么关系(TCP socket SYN队列和Accept队列区别原理解析)
- python函数的参数有几种类型(在Python中居然可以定义两个同名参数的函数)
- 怎么查询端口是否被占用(如何查看某个端口被谁占用)
- dedecms如何使用(使用dedecms制作英文站的技巧说明)
- uni app开发教程(uniapp+Html5端实现PC端适配)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9