xwero/laravel-twig-html

关于此包的最新版本(v0.5.0)没有可用的许可信息。

HTML构建器twig扩展

v0.5.0 2023-08-19 10:03 UTC

This package is auto-updated.

Last update: 2024-09-19 12:34:01 UTC


README

这是一个为在Laravel中使用Twig的人提供的HTML构建器twig扩展。

Laravel twig集成包附带一个表单构建器扩展,它使用LaravelCollective/html。此包已弃用,建议使用spatie/html

我的包使用了建议的库,可能使用方式有些独特。但当我看到库的流畅API时,我想在twig中也有同样的功能。

开箱即用的twig集成代码:{{ form_open({"route":"home"}) }}

Laravel twig html代码:{{ h()|e_form|form_route("home")|em_open }}

如你所见,这个包需要更多的输入。我将添加一些常用的快捷方式。

用法

函数html()不能单独渲染。它是创建标签的起始值。简写形式为h()

元素过滤器以e_开头。元素方法过滤器以em_开头。两者的区别是元素过滤器是独立的,而元素方法过滤器需要一个元素才能进行过滤。

当你将字符串作为参数传递时,它将被用作底层方法的第一个参数。你可以将参数作为列表添加,但此时项的数量必须与底层方法的参数相同。要替换默认参数,可以使用与默认参数键匹配的命名键。

默认参数是实用的,但如果参数组合不能生成可用的HTML标签,将返回上一个值。对于元素过滤器,这意味着可以返回错误对象。对于元素方法过滤器,则不会有变化。

开发

你可以使用./vendor/bin/pest运行测试。

不幸的是,form_route过滤器使用不带斜杠的路由方法,因此它在Form类中查找它。只需添加斜杠,所有测试都会运行。

其他Laravel行为,如form_token,无法在不将其添加到Laravel项目的情况下进行测试。