kaiseki/wp-html-attributes
Composer 安装命令:
composer require kaiseki/wp-html-attributes
包简介
Fluent builder for composing, merging and rendering escaped HTML element attributes in WordPress
README 文档
README
Fluent builder for composing, merging and rendering escaped HTML element attributes in WordPress.
Attributes are collected through a small chainable API, classes are merged and de-duplicated rather
than overwritten, and the rendered output is escaped with WordPress' own esc_attr() / esc_url()
and emitted in a stable, predictable order.
Installation
composer require kaiseki/wp-html-attributes
Requires PHP 8.2 or newer.
Usage
use Kaiseki\WordPress\HtmlAttributes\HtmlAttributes; $attributes = HtmlAttributes::create(['id' => 'cta']) ->addClass('button', 'button--primary') ->addAttribute('href', 'https://example.com') ->addAttribute('target', '_blank'); echo '<a ' . $attributes->renderAttributes() . '>Read more</a>'; // <a id="cta" href="https://example.com" target="_blank" class="button button--primary">Read more</a>
Building attributes
HtmlAttributes::create(?array $attributes = [])/new HtmlAttributes(?array $attributes = [])— start from an optionalname => valuemap.addAttribute(string $name, string $value, bool $merge = true)— set a single attribute. With$merge(the default) aclassvalue is merged into the existing classes; passfalseto replace.addAttributes(array $attributes, bool $merge = true)— set several at once.addClass(string ...$class)— add one or more class names; each argument may itself be a space-separated list. Duplicates are removed on render.getAttribute(string $name)/getAttributes()— read back the current state.
Rendering
renderAttributes(array $attributes = []) returns the escaped attribute string (any attributes
passed are merged in first):
hrefvalues are escaped withesc_url()(thefb-messengerprotocol is allowed in addition to WordPress' defaults); every other value is escaped withesc_attr().- Empty
href,class,targetandrelvalues are omitted. - Output is ordered
id,href,target,rel,class, then any remaining attributes alphabetically.
Reusing the builder in your own class
The behaviour lives in HtmlAttributesTrait, so a class that maintains its own
array<string, string> $attributes can use HtmlAttributesTrait; to gain the same API.
Development
composer install
composer check # check-deps, cs-check, phpstan
License
MIT — see LICENSE.
kaiseki/wp-html-attributes 适用场景与选型建议
kaiseki/wp-html-attributes 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 512 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 11 月 11 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 kaiseki/wp-html-attributes 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 kaiseki/wp-html-attributes 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 512
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 4
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-11-11