0

我们有一个庞大的遗留代码库,试图找到定义函数的位置是一项艰巨的任务。幸运的是,现代 IDE 已经涵盖了这一点。然而,尚不清楚的是如何(或者,实际上,如果)已经包含了一个文件。

我们的旧式代码通常会在一个文件中包含一组相关的函数,并在每个函数前面加上文件名(因此 login_validate() 将在 login.php 中)。

例子.php

<?php

require_once 'functions/login.php';
require_once 'functions/validate.php';
validate_something(); // Uses function defined in validate.php
echo user_login(), PHP_EOL; // user.php must have been included *somewhere* for this to work, but where?!

我的问题是:是否有一个工具可以扫描 PHP 文件并告诉我哪些文件由于未解析的函数而无法执行?

注意:使用 PHP 的内置 lint 检查器 ( php -l) 不会捕捉到这种情况。

4

1 回答 1

0

PhpStorm是我推荐的。(一般来说,不只是为了这个用途。)

有了它,您可以通过运行项目范围的检查来做到这一点。从工具栏菜单:

Code > Run Inspection by Name

然后会弹出一个对话框询问检查的类型。输入undefined function并按回车键。然后下一个对话框将询问运行检查的范围,这很可能是您的整个项目。

于 2012-10-15T15:26:09.067 回答