phpbsb / php-short-array-syntax-converter
该软件包最新版本(dev-master)没有可用的许可信息。
命令行脚本,使用PHP的内置tokenizer将PHP的array()语法转换为PHP 5.4的短数组语法[]。
dev-master
2016-04-06 20:10 UTC
Requires
- php: >=5.3
This package is not auto-updated.
Last update: 2024-09-20 19:19:50 UTC
README
命令行脚本,使用PHP的内置tokenizer将PHP的array()
语法转换为PHP 5.4的短数组语法[]
。
通过依赖PHP tokenizer,除了数组语法本身,其他都不会被修改。该脚本在包含超过5,000个PHP文件的代码库上进行了成功测试。
使用方法
Usage: php convert.php [-w] <file>
将需要转换的PHP文件路径作为参数运行脚本。这将把转换后的源代码打印到STDOUT。
如果您想用转换后的代码覆盖原始文件,可以使用-w
选项。
如果您还想处理带有短开放标签(<?
)的PHP文件,请确保在您的php.ini
文件中启用了short_open_tag
设置。
如果发生错误,错误信息将写入STDERR,并且脚本将退出,返回码为1。
使用find
命令递归转换整个目录(在Linux/Mac上)
find <directory> -name "*.php" -exec php "convert.php" -w "{}" \;
或者在Windows上(感谢John Jablonski的建议)
FOR /f "tokens=*" %a in ('dir *.php /S/B') DO php convert.php %a -w
如果您还不完全信任该脚本,您甚至可以在转换后进行语法检查
find <directory> -name "*.php" -exec php -l "{}" \; | grep "error:"
撤销
Usage: php revert.php [-w] <file>
撤销功能尚未经过彻底测试,因此请谨慎使用!
由于没有专门用于短数组语法的特定令牌,它假定每个"["都是一个数组,并依赖于检查前一个令牌是否为变量、对象属性、函数返回值")"、嵌套数组"]"和变量引用"{"。
感谢
感谢Lebenslauf.com(德国简历编辑器)赞助开发。