xiphe / html
基于PHP的HTML标记生成器
Requires
- php: >=5.3
- dflydev/markdown: ~1.0
- phpspec/php-diff: dev-master
- xiphe/base: >=1.0
This package is not auto-updated.
Last update: 2024-09-14 14:55:35 UTC
README
主要优势包括
- 当你在PHP代码中时,不需要在PHP和HTML之间切换,也不需要回显HTML字符串。
- 极简使用尝试和辅助函数。你应该能够用更少的PHP指令生成更多的HTML标记,同时保持完全的灵活性。
- 自动缩进。除非你关闭它以节省空白,否则你将获得漂亮缩进且超级易读的标记,用于你的Web项目。
主要缺点包括
- 页面生成时间更长,因为每个HTML标签在生成时都会通过很多PHP函数。
(我在WordPress中使用它,并且在从默认wp主题切换到使用生成器的主题时,无法在页面加载速度上察觉到人类可见的差异。) - 与直接编写HTML相比,可能更难学习如何使用这个。
此项目受CakePHP HtmlHelper的启发。
安装
WordPress
- 下载最新的"alldeps"分支
- 解压缩存档并将插件上传到你的WordPress项目中的
/wp-content/plugins/目录。 - 通过WordPress中的'插件'菜单激活插件
独立
使用 composer 并需要 "xiphe/html": "2.0.*"
或下载最新的"alldeps"分支,解压缩它并将它放在你的PHP项目的任何位置。然后包含[path to]/bootstrap.php或[path to]/vendor/autoload.php。
基本用法
遵循安装步骤以初始化全局$HTML变量。
<?php /* Get access to an instance of Xiphe\HTML */ global $HTML /* Opens a std HTML5 header - leaves you inside the <head> */ $HTML->HTML5() /* print a <title> */ ->title('HTML Example') /* close the <head> tag */ ->close('head') /* open a <body> tag (s_[tag] will just open a [tag] - no </tag> will be echoed) */ ->s_body() /* open a <div> tag with the class attribute "wrap" */ ->s_div('.wrap') /* open an <article> tag with an id */ ->s_article('#article1') /* print a <h1> with multiple attributes */ ->h1('Hello Stranger', array('style' => 'color: red;', 'rel' => 'title')) /* <3 */ ->p('Thank you for checking out Xiphe\HTML - that\'s very kind of you') /* Another way to pass multiple attributes to a tag */ ->img('src=http://upload.wikimedia.org/wikipedia/commons/c/ce/Example_image.png|alt=example') /* close all Tags that have been opened previously */ ->close('all');
输出
<!DOCTYPE HTML> <html class="no-js"> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible" /> <title>HTML Example</title> </head> <body> <div class="wrap"> <article id="article1"> <h1 rel="title" style="color: red;">Hello Stranger</h1> <p>Thank you for checking out Xiphe\HTML - that's very kind of you</p> <img alt="example" src="http://upload.wikimedia.org/wikipedia/commons/c/ce/Example_image.png" /> </article><!-- #article1 --> </div><!-- .wrap --> </body> </html><!-- .no-js -->
想深入了解?戳我编写更好的文档。或者查看html.xiphe.net上的测试/示例混合。
第三方
-
来自 Fat-Free Framework 的Js/Css Minifiying
根据GNU GENERAL PUBLIC LICENSE Version 3,2007年6月29日分发
版权 (c) 2009-2012 F3::Factory/Bong Cosca -
PHP Diff by Chris Boulton(用于演示/测试。在生产使用中不会加载。)
BSD许可证
版权 (c) 2009 Chris Boulton chris.boulton@interspire.com
版权所有。 -
Markdown
PHP Markdown & Extra
版权 (c) 2011, Dragonfly Development Inc
版权所有。基于PHP Markdown & Extra
版权 (c) 2004-2009 Michel Fortin
http://michelf.com/
版权所有。基于Markdown
版权 (c) 2003-2006 John Gruber
http://daringfireball.net/
版权所有。 -
phpDocumentor 生成文档在/doc下
变更日志
2.0.10
- mergeClasses方法添加到core\Generator
2.0.9
- 一些小的错误修复和与THETOOLS v1.0.7的兼容性
2.0.8
- Select模块更新
2.0.7
- Content::compress()的新逻辑
- Google Analytics 模块允许使用 $HTML->googleanalytics('UA-0000000-0') 来实现一个简单、压缩的 GA 跟踪代码。
- 添加了基本的 Sublime Text 2 代码片段。
2.0.6
- 修复了与 Store::get() 相关的错误。
- 当 THETOOLS 可用的时候,HTML 标签上会有桌面/移动类。
2.0.5
- 为标签添加回调函数。
- 配置模式。
- 错误修复。
2.0.4
- 修复了 wp textdomain 错误。
2.0.3
- if() 和 endif() 伪标签。
- BasicModule::generate() 使用模块参数生成默认标签。
- 当直接调用 Generator::call 时,现在可以额外传递标签选项作为第三个参数,并附加到标签前。
2.0.2
- composer update 测试。
2.0.1
- 兼容 composer。
- 现在使用 composer 的 php-diff 和 markdown 版本。
2.0.0
- 完全重构。大多数功能应该仍然与 1.x 版本相同,但可能不是全部。
- 介绍 Xiphe\HTML 命名空间。
- 更好的模块化面向对象结构。
- 简约实例 + 大多数逻辑现在是静态的。
- 标签实例。
- 测试用例。
- 更多...
2.0 之前。
- 查看 changelog.txt。
错误。
- 多行 <li> 的第一行在用强模式清理时存在错误的缩进。
待办事项。
- 单选按钮和复选框组生成。
- 添加自定义模块并操作 TagInfo 类的功能。
- 更多测试用例。
- 更好的文档。
- 在标签上实现数组风格的属性操作会很好。$Tag[id] = 'myID';