【问题标题】:No autocomplete on PhpStorm for PHP constantsPHP 常量在 PhpStorm 上没有自动完成功能
【发布时间】:2018-11-20 12:39:32
【问题描述】:

我的 PhpStorm IDE(版本 2017.3.4)有一点烦人的问题。

所以我想建议我在我的项目中定义的常量。但是当我尝试 Ctrl + Space 时,没有我定义的常量。

我所有的常量在我的项目中都是这样定义的:

在文件中:

$configFileDir = "configfile.php";

if (file_exists($configFileDir)) {
    require_once($configFileDir);

    try {
        define('CONSTANT1', $MY_CONSTANT["CONSTANT1"]);
        define('CONSTANT2', $MY_CONSTANT["CONSTANT2"]);
        ...
    }
}

我所有的常量都在一个名为 $MY_CONSTANT 的数组中,该数组加载到文件 configfile.php 中。

另一件事:在我的项目中,这些常量被定义了 2 次。

到目前为止我所尝试的:

  • 文件/使缓存无效
  • 在首选项/语言和框架/PHP 中更改 PHP 版本

如果有人有想法,那就太好了:)。

解决办法:

为了从 IDE 获得建议,我刚刚删除了定义指令周围的 try..catch 块。之后,我们可以获得这些常量的自动补全:)。 (非常感谢@LazyOne)

【问题讨论】:

  • 如果你在try 块内尝试print_r($MY_CONSTANT["CONSTANT1"]);die;。你得到常量的值吗?
  • 我正在尝试在我的 IDE 中获得建议,我的常量在运行时定义良好。
  • 其实我看不懂你的问题。
  • 当您在 phpStorm 上按 ctrl + 空格时,您会从 IDE 获得建议。所以在这里当我输入 CONST 并且在 CTRL + 空格之后没有关于我的常量的建议: CONSTANT1 和 CONSTANT2
  • 现在的原因似乎是定义是在 try..catch 块内完成的。将其移出并尝试这种方式。另外:youtrack.jetbrains.com/issue/WI-38507

标签: php phpstorm constants code-completion


【解决方案1】:

我找到了解决办法:


为了从 IDE 获得建议,我刚刚删除了定义指令周围的 try..catch 块。

之后我们可以获得这些常量的自动补全。

(非常感谢 @LazyOne

【讨论】:

    【解决方案2】:

    你可以输入提示PHPStorm:

    <?php
    /** @var CONSTANT1 constant */
    define('CONSTANT1', 'test');
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-16
    • 1970-01-01
    • 2012-11-11
    • 2014-12-24
    相关资源
    最近更新 更多