symplify/template-checker

此包已被废弃且不再维护。作者建议使用symplify/easy-ci包代替。

检查您的TWIG模板


README

Downloads total

检查您的TWIG模板

安装

composer require symplify/template-checker --dev

使用

检查Latte模板

  • 检查现有类
  • 检查现有类常量
  • 检查现有静态调用
vendor/bin/template-checker check-latte-template templates

检查Twig控制器路径

final class SomeController
{
    public function index()
    {
        return $this->render('does_path_exist.twig');
    }
}
vendor/bin/template-checker check-twig-render src/Controller

从Latte模板中提取静态调用到FilterProvider

您的模板中是否有静态调用?这是一个隐藏的过滤器。让我们将其解耦,以便在项目的其余部分使用DI和服务。

vendor/bin/template-checker extract-latte-static-call-to-filter templates

但这只是一个Dry Run...如何应用更改?

vendor/bin/template-checker extract-latte-static-call-to-filter templates --fix

会发生什么?静态调用将被Latte过滤器替换

 # any latte file
-{\App\SomeClass::someStaticMethod($value)}
+{$value|someStaticMethod}

过滤器将被提供

use App\Contract\Latte\FilterProviderInterface;
use App\SomeClass;

final class SomeMethodFilterProvider implements FilterProviderInterface
{
    public const FILTER_NAME = 'someMethod';

    public function __invoke(string $name): int
    {
        return SomeClass::someStaticMethod($name);
    }

    public function getName(): string
    {
        return self::FILTER_NAME;
    }
}

文件将被生成到/generated目录中。只需更改命名空间并复制到您的流程中。

您想了解更多关于<强>清洁的Latte过滤器的信息吗?请阅读如何从Latte过滤器中摆脱魔法、静态和混乱


报告问题

如果您遇到错误或想请求新功能,请访问Symplify单repo问题跟踪器

贡献

此包的源码包含在Symplify单repo中。我们欢迎在symplify/symplify上为此包做出贡献。