xiphe/html

基于PHP的HTML标记生成器

维护者

详细信息

github.com/Xiphe/HTML

主页

源代码

问题

安装: 3

依赖关系: 0

建议者: 0

安全: 0

星星: 3

关注者: 4

分支: 0

公开问题: 1

类型:标记

2.0.10 2013-04-22 10:54 UTC

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的启发。

演示/测试页面
文档(phpDocumentor)

安装

WordPress

  1. 下载最新的"alldeps"分支
  2. 解压缩存档并将插件上传到你的WordPress项目中的/wp-content/plugins/目录。
  3. 通过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';