我正在寻找一个正则表达式,它可以准确地识别通过源代码中的引用传递的任何 PHP 调用时间,以帮助迁移到 PHP 5.3。

目前,我有 [^=&]\s*&\s*\$ ,但这不会过滤掉赋值情况( $var = &$othervar; )。

这个 regexp 应该与 eclipse 兼容(抱歉,不确定 regexp eclipse 解析的是什么风格)。

编辑: 这个更接近(虽然有点黑客):(?<!([&=]\s{0,15}))&\s*\$

最佳答案

您可以为此使用 phpcs。它有一个 rule to detect Call Time Pass by References :



还有一个plugin to integrate phpcs into Eclipse

使用这个在线生成器很容易为 PHPCS(和 PMD)生成规则集:

  • http://edorian.github.io/php-coding-standard-generator/#phpcs
  • 10-04 10:38