我正在寻找一个体面的PHP类,它将生成复杂的HTML表,即它应该支持colspan / rowspan和行,列和单元格的各个CSS类。
答案 0 :(得分:3)
看起来你的问题与我正在研究的一个小项目密切相关。
我刚刚使用2.x版本更新了 naomik / htmlgen 。
use function htmlgen\html as h;
use function htmlgen\map;
$beeData = [
'pop' => 'yup',
'candy' => 'sometimes',
'flowers' => 'so much',
'water' => 'not really',
'sand' => 'indifferent',
'donuts' => 'most definitely'
];
echo h('table',
h('thead',
h('tr',
h('td', 'item'),
h('td', 'do bees like it?')
)
),
h('tbody',
map($beeData, function($value, $key) { return
h('tr',
h('td', $key),
h('td', $value)
);
})
)
);
输出(实际输出中不包括空格)
<table>
<thead>
<tr>
<td>item</td>
<td>do bees like it?</td>
</tr>
</thead>
<tbody>
<tr>
<td>pop</td>
<td>yup</td>
</tr>
<tr>
<td>candy</td>
<td>sometimes</td>
</tr>
<tr>
<td>flowers</td>
<td>so much</td>
</tr>
<tr>
<td>water</td>
<td>not really</td>
</tr>
<tr>
<td>sand</td>
<td>indifferent</td>
</tr>
<tr>
<td>donuts</td>
<td>most definitely</td>
</tr>
</tbody>
</table>
尽管有些例子似乎有些冗长,但我认为以非常程序化的方式使用DSL的能力使其非常强大。
如果您真的对创建自己的图书馆感兴趣,我很乐意与您合作。请查看项目并让我知道您的想法:)
PS 请参阅example目录中的其他代码以获得更多乐趣!