PhpStorm:仅包含代码中的功能链接

时间:2017-01-31 02:34:42

标签: php phpstorm

在我的PhpStorm项目中,我有以下3个文件:

sub.php:

<?php
    function do_something() {
        // do something
    }
?>

sub_debug.php:

<?php
    function do_something() {
        // do something with debugging
    }
?>

main.php:

<?php
    include 'sub.php';

    do_something();
?>

所以在我的main.php中,我通常包含sub.php,如果我需要进行一些调试,只能切换到sub_debug.php。所以在任何时候,我只包含这两个PHP文件中的一个,并且只有一个do_something()函数在范围内。

然而,当我按住CTRL键点击PhpStorm中do_something()的{​​{1}}电话时,它仍然告诉我有多个实现,并提示我选择一个。

是否可以将PhpStorm配置为仅链接到main.php - d代码而不是项目中的所有PHP文件?

1 个答案:

答案 0 :(得分:3)

PhpStorm在处理定义时不考虑include / require语句 - 它假定(出于方便和性能原因)所有全局实体(如函数/类等)始终可访问(例如,类可以自动加载..或者在其他地方包含/需要具有功能的必要文件。)

考虑一下这种情况:在main.php中,您添加了另一个文件(例如include 'another.php';),并在another.php个文件中调用do_something();

考虑到another.php没有任何include / require语句 - IDE应该如何确定do_something();要去哪里?

使用当前的方法,它在两种情况下都提供相同的用户体验。

无论如何:https://youtrack.jetbrains.com/issue/WI-4095似乎与您的请求有关。

考虑观看此门票和相关门票(str / vote / comment)以获得有关任何进展的通知。