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;