validaide / html-builder
PHP 库,提供流畅的接口以生成小的 HTML 片段
7.3.0
2024-09-05 07:48 UTC
Requires
- php: ^8.1
- exercise/htmlpurifier-bundle: ^4.0
Requires (Dev)
- ext-tidy: *
- brianium/paratest: ^6.4
- jetbrains/phpstorm-attributes: ^1.0
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^9.0
- rector/rector: ^0.17.7
- dev-master
- 7.3.0
- 7.2.0
- 7.1.0
- 7.0.0
- 6.2.0
- 6.1.0
- 6.0.0
- 5.9.0
- 5.8.0
- 5.7.0
- 5.6.0
- 5.5.0
- 5.4.0
- 5.3.2
- 5.3.0
- 5.2.0
- 5.1.0
- 5.0.0
- 4.7.0
- 4.6.0
- 4.5.0
- 4.4.0
- 4.3.0
- 4.2.0
- 4.1.0
- 4.0.0
- 3.7.0
- 3.6.0
- 3.5.0
- 3.4.0
- 3.3.0
- 3.2.0
- 3.1.0
- 3.0.0
- 2.5.0
- 2.4.0
- 2.3.0
- 2.2.0
- 2.1.0
- 2.0.0
- 1.13.0
- 1.12.0
- 1.11.0
- 1.10.1
- 1.10.0
- 1.9.0
- 1.8.0
- 1.7.2
- 1.7.1
- 1.7.0
- 1.6.0
- 1.5.0
- 0.1.0
- dev-development
- dev-chore/184089749_reverse_tabnabbing
- dev-chore/184007856_drop_php74
- dev-chore/20220908_fix_temp_folder
- dev-chore/181096300_sanitizing_xss_output
- dev-chore/180175084
This package is auto-updated.
Last update: 2024-09-05 07:48:22 UTC
README
Validaide 的 HTML 构建器是一个小巧的库,具有流畅的接口,用于生成 HTML 代码片段。
简介
好吧,有些人可能会说:"上帝啊,你为什么会需要这样的东西!?" 诚然,我们有像 Twig 这样棒的东西,对吧!?你是对的!我喜欢 Twig!但结果是我们仍然需要一些小的辅助方法来生成 HTML 的微小片段。
以下是一个例子
public function userStateToIcon(User $user): string { return sprintf('<span class="%s" id="%s" data-username="%s"></span>', strtolower($user->getState()), $user->getId(), $user->getUsername()): }
尽管上述内容还可以进一步优化,但最后一个返回语句是我们试图简化的
public function userStateToIcon(User $user): HTMLTag { return HTML::create('span') ->class(strtolower($user->getState()) ->id($user->getId()) ->attr('data-username',$user->getUsername()); }
在字符数量上,这并不一定更快,但它将确保
- 生成有效的 HTML
- 生成安全的 HTML
- 之后更容易修改构建的 'HTML'
安装
我们的好朋友 Composer 通过使用 Packagist 当然来拯救我们
composer require validaide/html-builder
❤️ Composer ❤️ Packagist
示例
- 普通标签
HTML::create('span')
<span></span>
- 带内容的普通标签
HTML::create('h1')->text('Heading 1');
<h1>Heading 1</h1>
- 嵌套标签
HTML::create('div')->id('div-1)->tag('div')->id('div-2);
<div id="div-1"><div id="div-2"></div></div>