ui-awesome / html-helper
PHP的UI Awesome HTML辅助代码生成器。
Requires
- php: ^8.1
- ext-mbstring: *
- ui-awesome/html-interop: ^0.1
- voku/anti-xss: ^4.1
Requires (Dev)
- maglnet/composer-require-checker: ^4.7
- php-forge/support: ^0.1
- phpunit/phpunit: ^10.5
- roave/infection-static-analysis-plugin: ^1.34
- symplify/easy-coding-standard: ^12.1
- vimeo/psalm: ^5.20
This package is auto-updated.
Last update: 2024-08-30 17:12:31 UTC
README
PHP的UI Awesome HTML辅助代码生成器。
HTML Helper是一个PHP库,简化了HTML元素的创建。它提供了一套类来生成HTML属性、编码内容、清理HTML内容等。
安装
安装此扩展的首选方式是通过Composer。
运行以下命令:
composer require --prefer-dist ui-awesome/html-helper:^0.2
或将其添加到您的composer.json
文件的require部分:
"ui-awesome/html-helper": "^0.2"
使用
使用
添加CSS类
可以使用CssClasses::class
辅助器向HTML元素添加CSS类。
该方法接受三个参数
attributes:
(数组): 元素的HTML属性。classes:
(数组|string): 要添加的CSS类。overwrite:
(bool): 是否覆盖class
属性。默认为false
。
<?php declare(strict_types=1); use UIAwesome\Html\Helper\CssClasses; private array $attributes = []; $classes = CssClasses::add($this->attributes, ['btn', 'btn-primary', 'btn-lg']);
覆盖class
属性
<?php declare(strict_types=1); use UIAwesome\Html\Helper\CssClasses; private array $attributes = ['class' => 'btn']; $classes = CssClasses::add($this->attributes, ['btn-primary', 'btn-lg'], true);
将正则表达式转换为模式
可以使用Utils::class
辅助器来标准化正则表达式。
该方法接受一个参数
regexp:
(字符串): 要标准化的模式。delimiter:
(字符串): 要使用的分隔符。默认为null
。
<?php declare(strict_types=1); use UIAwesome\Html\Helper\Utils; $pattern = Utils::convertToPattern('/([a-z0-9-]+)/im'); // return: `([a-z0-9-]+)`
编码内容
可以使用Encode::class
辅助器来编码HTML内容。
该方法接受三个参数
content:
(字符串): 要编码的内容。doubleEncode:
(bool): 是否双倍编码内容。默认为true
。charset:
(字符串): 要使用的字符集。默认为UTF-8
。
<?php declare(strict_types=1); use UIAwesome\Html\Helper\Encode; $content = Encode::html('<script>alert("Hello, World!")</script>');
编码值
可以使用Encode::class
辅助器来编码HTML值。
该方法接受三个参数
value:
(字符串): 要编码的值。doubleEncode:
(bool): 是否双倍编码值。默认为true
。charset:
(字符串): 要使用的字符集。默认为UTF-8
。
<?php declare(strict_types=1); use UIAwesome\Html\Helper\Encode; $value = Encode::value('<script>alert("Hello, World!")</script>');
获取简短类名
可以使用Utils::class
辅助器来获取简短类名。
该方法接受一个参数
class:
(字符串): 要获取简短名的类名。suffix:
(字符串): 是否追加::class
后缀。默认为true
。如果为false
,则方法将返回不带::class
后缀的简短名。lowercase:
(bool): 是否将类名转换为小写。默认为false
。
<?php declare(strict_types=1); use UIAwesome\Html\Helper\Utils; $shortName = Utils::getShortClassName('UIAwesome\Html\Helper\Utils'); // return: `Utils::class`
生成可数数组名称
可以使用ArrayableName::class
辅助器来生成可数数组名称。
该方法接受一个参数
name:
(字符串): 要生成的名称。
<?php declare(strict_types=1); use UIAwesome\Html\Helper\Utils; $name = Utils::generateArrayableName('name');
生成输入ID
可以使用Utils::class
辅助器来生成输入ID。
该方法接受三个参数
fieldModel:
(字符串): 字段模型的名称。property:
(字符串): 属性的名称。charset:
(字符串): 要使用的字符集。默认为UTF-8
。
<?php declare(strict_types=1); use UIAwesome\Html\Helper\Utils; $id = Utils::generateInputId('user', 'name');
生成输入名称
可以使用Utils::class
辅助器来生成输入名称。
该方法接受三个参数
fieldModel:
(字符串): 字段模型的名称。property:
(字符串): 属性的名称。arrayable:
(bool): 名称是否可数。默认为false
。
<?php declare(strict_types=1); use UIAwesome\Html\Helper\Utils; $name = Utils::generateInputName('user', 'name');
清理内容
可以使用Sanitize::class
辅助器来清理HTML内容。
该方法接受一个参数
content:
(...string|RenderInterface): 要清理的内容。它可以是一个字符串或实现RenderInterface::class
的对象。
<?php declare(strict_types=1); use UIAwesome\Html\Helper\Sanitize; $content = Sanitize::html('<script>alert("Hello, World!")</script>');
渲染HTML属性
可以使用Attributes::class
辅助器以编程方式渲染HTML属性。
<?php declare(strict_types=1); use UIAwesome\Html\Helper\Attributes; $attributes = Attributes::render( [ 'class' => 'btn btn-primary', 'id' => 'submit-button', 'disabled' => true, ] );
渲染HTML类属性
可以使用CssClass::class
辅助器来渲染class
属性。
该方法接受一个参数
class:
(字符串): 要渲染的类。baseClass:
(字符串): 要使用的基类。inList:
(数组): 需要验证的类列表。
<?php declare(strict_types=1); use UIAwesome\Html\Helper\CssClass; $class = CssClass::render( 'yellow', 'p-4 mb-4 text-sm text-%1$s-800 rounded-lg bg-%1$s-50 dark:bg-gray-800 dark:text-%1$s-400', ['blue', 'gray', 'green', 'red', 'yellow'], );
渲染模板
可以使用 Template::class
辅助类来渲染模板。
该方法接受两个参数
template:
(字符串): 要渲染的模板。tokenValues:
(数组): 在模板中要替换的标记值。
<?php declare(strict_types=1); use UIAwesome\Html\Helper\Template; $template = '{{prefix}}\n{{tag}}\n{{suffix}}'; $tokenValues = [ '{{prefix}}' => 'prefix', '{{tag}}' => '<div>content</div>', '{{suffix}}' => 'suffix', ]; $content = Template::render($template, $tokenValues);
\n
是换行符,用于在模板中分隔标记。
验证列表中的值
可以使用 Validator::class
辅助类来验证列表中的值。
该方法接受三个参数
value:
(混合型): 要验证的值。exceptionMessage:
(字符串): 如果值不在列表中,抛出的异常信息。list:
(...字符串): 验证值的列表。
<?php declare(strict_types=1); use UIAwesome\Html\Helper\Validator; $value = Validator::inList('php', 'The value is not in the list.', 'php', 'javascript', 'typescript');
验证可迭代值
可以使用 Validator::class
辅助类来验证可迭代值。如果值不可迭代或 null
,该方法将抛出 InvalidArgumentException
异常。
该方法接受一个参数
value:
(混合型): 要验证的值。
<?php declare(strict_types=1); use UIAwesome\Html\Helper\Validator; $value = Validator::iterable([1, 2, 3]);
验证数值
可以使用 Validator::class
辅助类来验证数值。如果值不是数值或 null
,该方法将抛出 InvalidArgumentException
异常。
该方法接受一个参数
value:
(混合型): 要验证的值。
<?php declare(strict_types=1); use UIAwesome\Html\Helper\Validator; $value = Validator::numeric(1);
验证标量值
可以使用 Validator::class
辅助类来验证标量值。如果值不是标量或 null
,该方法将抛出 InvalidArgumentException
异常。
该方法接受一个参数
value:
(...混合型): 要验证的值。
<?php declare(strict_types=1); use UIAwesome\Html\Helper\Validator; $value = Validator::scalar('Hello, World!');
验证字符串值
可以使用 Validator::class
辅助类来验证字符串值。如果值不是字符串或 null
,该方法将抛出 InvalidArgumentException
异常。
该方法接受一个参数
value:
(混合型): 要验证的值。
<?php declare(strict_types=1); use UIAwesome\Html\Helper\Validator; $value = Validator::string('Hello, World!');
测试
查看测试文档 了解有关测试的信息。
支持版本
许可证
MIT 许可证 (MIT)。请参阅 许可证文件 了解更多信息。