themosis/twig

为 Themosis 提供的 Twig 模板引擎支持。

dev-main 2024-09-10 18:08 UTC

This package is auto-updated.

Last update: 2024-09-10 18:08:36 UTC


README

此包为 Themosis 添加了对 Twig 模板引擎的支持。

安装

要从终端安装此包,请运行以下命令

composer require themosis/twig

配置

此包附带一个 twig.php 配置文件。如果它没有自动安装到您的应用程序中,您可以从终端运行以下命令

php artisan vendor:publish --provider="Themosis\Twig\TwigServiceProvider"

使用方法

此包为 Laravel 的视图 API 提供了 Twig 引擎。基本上,您现在可以使用 .twig 文件扩展名创建视图,而不是使用 .php.blade.php 扩展名。

与任何其他视图一样, Twig 视图的位置相同。所有视图目录都存储在 config/view.php 配置文件的 paths 属性下。

要控制 Twig 引擎,您可以在 config/twig.php 文件中修改其配置。

创建 Twig 视图

/**
 * From a controller method, return a Twig view:
 * This line is rendering the following view file `resources/views/welcome.twig`.
 */
return view('welcome');

/**
 * You can also render nested Twig views using the "." syntax.
 * This example is rendering the following view file `resources/views/pages/contact.twig`.
 */
return view('pages.contact');

传递数据

就像任何 Blade 视图一样,您可以使用 Laravel 文档中定义的相同参数将数据传递给 Twig 视图

/**
 * Passing data using the array parameter of the view function. 
 */
return view('person', [
    'name' => 'Carla'
]);

以下是 person.twig 文件的示例

<div>
    <p>{{ name }}</p>
</div>

您还可以使用视图的 with() 方法将数据传递到您的 Twig 模板。

Twig WordPress 扩展

此包附带一个 Twig WordPressExtension。请参阅 扩展文件,以了解此扩展在您的 Twig 模板中提供的可用函数和过滤器。

注意使用 fn 全局对象,它可以帮助您调用任何 PHP 函数。例如: fn.ucfirst('twig')

注意事项

有关学习 Twig 模板引擎语法的详细信息,请参阅官方 Twig 文档

致谢