phpbsb/php-short-array-syntax-converter

该软件包最新版本(dev-master)没有可用的许可信息。

命令行脚本,使用PHP的内置tokenizer将PHP的array()语法转换为PHP 5.4的短数组语法[]。

dev-master 2016-04-06 20:10 UTC

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(德国简历编辑器)赞助开发。