asar/elementary

PHP 的 HTML 生成器。

0.2 2013-09-30 06:11 UTC

This package is not auto-updated.

Last update: 2024-09-23 15:35:56 UTC


README

Build Status

PHP 的 HTML 生成器。

以下示例代码

<?php
$el = new Elementary\ElementBuilder;

echo
$el->html(
    $el->head(
        $el->meta_(array('charset'=> 'utf-8')),
        $el->title('Elementary Example')
    ),
    $el->body(
        $el->h1('Elementary Demonstration & Examples'),
        $el->div(
            array('id' => 'contents'),
            $el->p('This is an example paragraph.')
        )
    )
);

?>

生成以下结构 不包含缩进和换行

<html>
    <head>
        <meta charset="utf-8" />
        <title>Elementary Example</title>
    </head>
    <body>
        <h1>Elementary Demonstration &amp; Examples</h1>
        <div id="contents">
            <p>This is an example paragraph.</p>
        </div>
    </body>
</html>

空元素

要创建如 <br /><img /> 的空元素,请将元素名后添加下划线 '_'。

<?php

echo $el->img_(array('src' => 'bartman.png'));
// <img src="bartman.png" />
?>

片段

有时你可能想在将元素添加到节点之前暂时保留这些元素。创建类似 DOM 的 HTML 片段的方式是创建 片段

<?php

$fragment = $el->_($el->p('Foo.'), $el->p('Bar.'));

?>

你可以根据需要向其中添加更多元素。

<?php

$fragment->add($el->p('Baz.'));

?>

当你将片段添加到元素并打印它时,它将使用片段的内容,就像它们是其自己的内容一样。就像

<?php

$el->div($fragment);

?>

...

<div>
    <p>Foo.</p>
    <p>Bar.</p>
    <p>Baz</p>
</div>

注意事项

  • 默认序列化为 xml(即看起来像带有 '/ ' 关闭空元素的 XHTML)
  • 不创建注释
  • 目前,Elementary 生成的 HTML 代码看起来很“丑”。这里的“丑”意味着没有换行和缩进。
  • 要强制添加前导或尾部空格,可以在元素前后添加一个空格 (' ')

常见问题解答

问题:它快吗?

不知道。还没有对其进行基准测试。我不认为它很快,但对我来说已经足够快了。