【问题标题】:How to declare multiple fields in PhpStorm?如何在 PhpStorm 中声明多个字段?
【发布时间】:2016-11-07 11:39:48
【问题描述】:

我在构造函数中声明了很多属性:

public function __construct()
{
    $this->foo = new Foo();
    $this->poit = new Poit();
    $this->narf = new Narf();
}

现在我想声明所有字段,但我似乎只能通过 Alt + Enter "Declare field" 在一个属性上一一进行。

如何声明所有字段?最好使用正确的 PHPDoc,因为当我使用声明字段时,只添加了属性而没有任何类型提示。

它应该类似于initializing all fields,但我避免为该类故意注入这些服务。

我尝试激活“未定义字段”意图,但未列出:

【问题讨论】:

    标签: php phpstorm


    【解决方案1】:

    按 Alt+Enter 后,突出显示添加字段,按右箭头并选择修复文件中的所有“未定义字段”问题:

    系统将分别提示您每个字段的可见性。

    注意:在 PhpStorm 2016.2.2 中,您必须禁用“声明字段”意图并启用“未定义字段”检查并选中“通知动态字段声明”。

    意图(设置 -> 编辑器 -> 意图):

    检查(设置 -> 编辑器 -> 检查):

    【讨论】:

    • 你用的是什么版本?我在 2016.2.2 上,我在该上下文菜单中既没有看到 Add field 也没有看到 fix all。我看到“添加属性”和“声明字段”;也没有提供选项。
    • 我使用的是 2016.2.1,但我怀疑新版本的行为有所不同。我会升级并再次检查。您是否启用了“未定义字段”检查?你的班级有__set() 方法吗?
    • 我升级了我的 phpstorm,确实它的行为有所不同。我编辑了我的答案。
    • 我也没有看到那个特别的意图。我看错地方了吗?查看更新的问题。
    • 我也找不到:“通知动态字段声明”,那个钩子在哪里?
    猜你喜欢
    • 1970-01-01
    • 2021-09-23
    • 2013-05-04
    • 2021-06-18
    • 1970-01-01
    • 2019-09-10
    • 2023-03-19
    • 1970-01-01
    • 2014-03-03
    相关资源
    最近更新 更多