spatie / laravel-html
流畅的HTML构建器
Requires
- php: ^8.2
- illuminate/http: ^10.0|^11.0
- illuminate/support: ^10.0|^11.0
Requires (Dev)
- mockery/mockery: ^1.3
- orchestra/testbench: ^8.0|^9.0
- pestphp/pest: ^2.34
- dev-main
- 3.11.0
- 3.10.1
- 3.10.0
- 3.9.0
- 3.8.0
- 3.7.0
- 3.6.0
- 3.5.0
- 3.4.0
- 3.3.0
- 3.2.2
- 3.2.1
- 3.2.0
- 3.1.0
- 3.0.0
- v2.x-dev
- 2.30.0
- 2.29.0
- 2.28.1
- 2.28.0
- 2.27.0
- 2.26.0
- 2.25.0
- 2.24.0
- 2.23.0
- 2.22.1
- 2.22.0
- 2.21.0
- 2.20.1
- 2.20.0
- 2.19.9
- 2.19.8
- 2.19.7
- 2.19.6
- 2.19.5
- 2.19.4
- 2.19.3
- 2.19.2
- 2.19.1
- 2.19.0
- 2.18.0
- 2.17.0
- 2.16.0
- 2.15.1
- 2.15.0
- 2.14.0
- 2.13.1
- 2.13.0
- 2.12.1
- 2.12.0
- 2.11.0
- 2.10.3
- 2.10.2
- 2.10.1
- 2.10.0
- 2.9.0
- 2.8.2
- 2.8.1
- 2.8.0
- 2.7.0
- 2.6.0
- 2.5.0
- 2.4.1
- 2.4.0
- 2.3.0
- 2.1.0
- 2.0.2
- 2.0.1
- 2.0.0
- v1.x-dev
- 1.5.0
- 1.4.0
- 1.3.1
- 1.3.0
- 1.2.0
- 1.1.1
- 1.1.0
- 1.0.0
- 0.2.3
- 0.2.2
- 0.2.1
- 0.2.0
- 0.1.0
This package is auto-updated.
Last update: 2024-09-16 08:19:44 UTC
README
此包帮助您使用干净的、简单的且易于阅读的API生成HTML。所有元素都可以动态生成并组合。HTML构建器可以帮助您根据所选模型、会话或默认值生成动态分配的表单元素。
支持我们
我们在创建一流的开放源代码包上投入了大量资源。您可以通过购买我们的付费产品之一来支持我们。
我们非常感激您从家乡寄来明信片,并说明您正在使用我们哪个包。您可以在我们的联系页面上找到我们的地址。我们将发布所有收到的明信片在我们的虚拟明信片墙上。
明信片软件
您可以免费使用此包(它是MIT许可),但如果它进入了您的生产环境,我们非常感激您从家乡寄来明信片,说明您正在使用我们的哪个包。
我们的地址是:Spatie,Kruikstraat 22,2018 安特卫普,比利时。
所有明信片都发布在我们的网站上。
安装
您可以通过composer安装此包
composer require spatie/laravel-html
并且可以选择注册一个外观的别名。
// config/app.php 'aliases' => [ ... 'Html' => Spatie\Html\Facades\Html::class, ];
用法
概念
元素——在Spatie\Html\Elements
命名空间下的类通常通过一个Spatie\Html\Html
构建器实例创建。
html()->span()->text('Hello world!');
元素属性和内容通过返回新实例的流畅方法进行修改。这意味着元素实例是不可变的。
$icon = html()->span()->class('fa'); $icon->class('fa-eye'); // '<span class="fa fa-eye"></span>' $icon->class('fa-eye-slash'); // '<span class="fa fa-eye-slash"></span>'
元素类不对外部世界有任何了解。与其他概念(如请求和会话)的任何耦合都应在构建器类中发生,而不是在元素类中。
按照惯例,我们假设构建器方法将修改值以符合我们的利益(如在失败的表单请求中从会话中拉取旧值),而元素方法将是确定性的。
// This will try to resolve an initial value, and fall back to '[email protected]' $email = html()->email('email', '[email protected]'); // This will always have '[email protected]' as it's value $email = html()->email('email')->value('[email protected]');
升级
从v1到v2
版本2是在版本1的类型提示在某些情况下阻碍了包的发展(如多选,它需要一个值数组而不是假设的字符串)的情况下创建的。
幸运的是,通过在composer.json
中提升版本号并运行composer update
应该是非破坏性的。以下是一些需要注意的问题
- 包现在默认包含一个
html()
函数,该函数返回一个Html
构建器类的实例。如果您已定义自己的方法,则需要将其删除。 - 包中删除了各种类型提示,如果您扩展了一个类以覆盖其方法,则需要相应地更新它们(一切仍然按预期工作!)
更改日志
请参阅更改日志以获取有关最近更改的更多信息。
测试
$ composer test
贡献
请参阅CONTRIBUTING以获取详细信息。
安全
如果您发现与安全相关的问题,请发送邮件至[email protected],而不是使用问题跟踪器。
鸣谢
关于Spatie
Spatie是一家位于比利时安特卫普的网页设计公司。您可以在我们的网站上找到所有开源项目的概述在这里。
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。