maxmattone / to-twig
将 smarty 模板引擎转换为 twig 的脚本
Requires
- php: >=5.3.3
- symfony/console: ~2.1
- symfony/filesystem: ~2.1
- symfony/finder: ~2.1
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 项目)。