maxmattone/to-twig

将 smarty 模板引擎转换为 twig 的脚本

维护者

详细信息

github.com/mattonem/to-twig

源代码

安装: 0

依赖: 0

建议者: 0

安全性: 0

星标: 0

关注者: 2

分支: 0

类型:应用程序

dev-master 2019-08-23 13:15 UTC

This package is not auto-updated.

Last update: 2024-09-29 09:32:26 UTC


README

toTwig 是一个将 smarty 模板引擎转换为 twig 模板引擎的工具。

安装

本地安装

下载 toTwig.phar 文件并将其存储在您的计算机上的某个位置。

全局安装(手动)

您可以使用以下命令轻松在任何地方访问 toTwig

$ sudo wget https://raw.github.com/sankarsuda/toTwig/master/toTwig.phar -O /usr/local/bin/toTwig

或者使用 curl

$ sudo curl https://raw.github.com/sankarsuda/toTwig/master/toTwig.phar -o /usr/local/bin/toTwig

然后

$ sudo chmod a+x /usr/local/bin/toTwig

然后,只需运行 toTwig

更新

本地安装

self-update 命令尝试更新 toTwig 本身

$ php toTwig.phar self-update

全局安装(手动)

您可以通过此命令更新 toTwig

$ sudo toTwig self-update

使用方法

convert 命令尝试在一个给定的文件或目录中尽可能多地修复代码规范问题

`php toTwig.phar convert /path/to/dir`
`php toTwig.phar convert /path/to/file`

--converters 选项允许您选择要应用的精确转换器(转换器名称必须用逗号分隔)

`php toTwig.phar convert /path/to/dir --converters=for,if,misc`

如果您更方便,也可以使用 -name 黑名单您不想要的转换器

`php toTwig.phar convert /path/to/dir --converters=-for,-if`

--dry-run--verbose--diff 的组合将显示提议更改的摘要,但不会更改您的文件。

默认情况下,所有转换器都会应用。

从可用转换器的列表中选择

  • include 将 smarty 包含转换为 twig 包含

  • assign 将 smarty 的 {assign} 转换为 twig 的 {% set foo = 'foo' %}

  • variable 将 smarty 变量 {$var.name} 转换为 twig 的 {{ var.name }}

  • comment 将 smarty 注释 {* *} 转换为 twig 的 {# #}

  • misc 将 smarty 的一般标签如 {ldelim} {rdelim} {literal} 转换

  • if 将 smarty 的 if/else/elseif 转换为 twig

  • for 将 foreach/foreachelse 转换为 twig

--config 选项根据一些已知的目录结构定制要分析的文件

`# For the Symfony 2.1 branch`
`php toTwig.phar convert /path/to/sf21 --config=sf21`

从可用配置的列表中选择

  • default 默认配置

--dry-run 选项显示需要修复的文件,但不会实际修改它们

`php toTwig.phar convert /path/to/code --dry-run`

您可以通过在项目的根目录中保存一个 .php_st 文件来自定义转换器,而不是使用命令行选项来定制转换器。该文件必须返回一个 toTwig\ConfigInterface 的实例,这允许您配置转换器、文件和目录,这些文件和目录需要进行分析

<?php

$finder = toTwig\Finder\DefaultFinder::create()
	->exclude('somefile')
	->in(__DIR__)
;

return toTwig\Config\Config::create()
	->converters(array('if', 'for'))
	->finder($finder)
;

贡献

该工具附带了一些内置的转换器和查找器,但非常欢迎每个人贡献更多

转换器

转换器 是一个尝试转换一个标签的类(一个 Converter 类必须扩展 ConverterAbstract)。

配置

配置 了解工具在运行在您的项目目录时必须扫描的文件和目录。这对于遵循已知目录结构的项目很有用(例如,对于 Symfony 项目)。