stillat/blade-parser

本包最新版本(v1.8.0)无可用许可信息。

v1.8.0 2024-04-16 23:14 UTC

README

Blade Parser 是一个 Laravel 库,它使得解析、分析和操作 Blade 模板变得简单。

该库由许多主要组件组成

  • 解析器:一个 Blade 解析器,它可以生成一个节点列表,这些节点可以用来分析模板并作出决策。
  • 文档:一个强大的抽象,使得与单个解析的 Blade 模板的细节交互变得更加简单。
  • 工作空间:一组简单的 API,使得同时处理多个解析的 Blade 模板变得轻松。
  • 编译器:一个高度可配置的 Blade 编译器实现,支持预编译器、扩展和现有的第三方包。
  • 验证器:一个可扩展的验证 Blade 文档的系统,默认验证器能够检测未配对的条件、无效的组件参数间隔等。

易于使用

使用 Documents API 解析 Blade 模板非常简单。例如,解析模板所需的所有内容如下

<?php
 
use Stillat\BladeParser\Document\Document;
 
$template = <<<'BLADE'
    Hello, {{ $world }}
BLADE;
 
$document = Document::fromText($template);

Document 类提供了一种强大的抽象,使得快速检索模板信息变得简单。

例如,如果我们想从模板中提取所有组件,我们可以这样做

<?php

// Do something with all component tags in the template.
$document->getComponents()
          ->each(fn($node) => ...);

如果我们只对名为 alert 的组件感兴趣,我们可以使用以下方式

<?php

// Find all "alert" components.
$document->findComponentsByTagName('alert')
         ->each(fn($node) => ...);

这些例子只是冰山一角,我们鼓励您阅读文档

内置验证命令

此库还附带了一个可配置的 blade:validate Artisan 命令,可用于验证项目中的所有 Blade 模板。

要配置该命令,您需要使用以下命令发布其配置文件

php artisan vendor:publish --tag=blade

要运行针对您的项目的验证,您可以发出以下 Artisan 命令

php artisan blade:validate

如果检测到任何验证问题,它们将在您的终端中显示。

有许多配置选项可用,如果您想了解更多,可以在配置验证命令文章中找到。

许可

此解析库是开源软件,许可协议为MIT 许可