stefan-wiebe/elements

一个简单的PHP库,用于构建HTML元素。

1.0.2.1 2018-02-03 17:59 UTC

This package is not auto-updated.

Last update: 2024-09-29 05:08:12 UTC


README

这是一个简单的库,使用PHP构建HTML元素,主要用于避免陷入字符串连接的困境。

1 生成元素

1.1 构造函数

生成元素的第一种方法是使用其构造函数。

它接受以下参数

只要解析为字符串,您可以将任何内容放入元素的内部,包括其他元素。

use Elements\Element;

$attributes = [
	'id' => 'wrap-god',
	'class' => ['fresh', 'mexican', 'tortilla'],
];

$div = new Element('div', $attributes);

类可以以数组(如此处所示)的形式传递,或者使用字符串传递,用空格分隔它们('新鲜墨西哥玉米饼')。但是请注意,字符串将被分割。就像PHP函数一样。

1.2 工厂方法

还有一个相当简单的工厂方法,只需一个标签和提供的类即可生成元素。如前所述,您可以选择提供类的数组或使用空格分隔它们。

use Elements\Element;

$div = Element::withClasses('div', 'undetected unexpected');

2 修改属性

由于元素实现了 ArrayAccess,因此可以通过像数组一样访问元素来操作其属性。

假设我们想在1.2中创建的元素中添加一个id。我们会这样做

$div['id'] = 'night-witch';

除了类和样式外,所有属性都是字符串。

2.1 类

类在内部被视为数组,如前所述。这使得您可以轻松地添加和删除类,而不用担心有一个多余的空格或不足的空格。

如果您想向我们的现有div添加一些类,可以这样做

$div['class'][] = 'wings-of-glory';
$div['class'][] = 'tell-the-story';

替换它们的方式与最初声明它们的方式相同

$div['class'] = ['deviation', 'aviation'];
// or
$div['class'] = 'deviation aviation';

2.2 样式

样式也作为数组处理,但与类不同,它们是关联数组,否则会很困难。

您可以这样添加样式

$div['style']['display'] = 'none'; // Stealth perfected

请注意,您还可以传递一个字符串来设置元素的样式,但不建议这样做,因为我不能保证正则表达式总是100%有效。我没有发现任何明显的问题,但我也没有测试很多。

$div['style'] = 'display: none; background: linear-gradient(to bottom, red, blue);'

3 内容

元素的内部可以包含任何解析为字符串的内容。它们被保存在数组中,并可以使用addContent($content)setContent(array $content)方法进行操作。

示例

$div = Element::withClasses('div', 'form-group');

$input = new Element('input');
$input['type'] = 'text';

$div->addContent($input);

4 输出元素

为了输出元素,只需简单地echo它或将其转换为字符串即可。

echo $div;

$someString .= (string) $div;