为了账号安全,请及时绑定邮箱和手机立即绑定

PHPDoc类型提示对象数组?

PHPDoc类型提示对象数组?

PHP
米脂 2019-08-30 10:21:10
PHPDoc类型提示对象数组?因此,在PHPDoc中,可以@var在成员变量声明之上指定提示其类型。然后是一个IDE,例如。PHPEd将知道它正在使用什么类型的对象,并且能够为该变量提供代码洞察。<?php  class Test  {    /** @var SomeObj */    private $someObjInstance;  }?>这很有效,直到我需要对一个对象数组做同样的事情,以便在稍后迭代这些对象时能够获得正确的提示。那么,有没有办法声明一个PHPDoc标记来指定成员变量是一个SomeObjs 数组?@var例如,数组是不够的,@var array(SomeObj)似乎没有效果。
查看完整描述

3 回答

?
炎炎设计

TA贡献1808条经验 获得超4个赞

使用:


/* @var $objs Test[] */

foreach ($objs as $obj) {

    // Typehinting will occur after typing $obj->

}

当键入内联变量时,和


class A {

    /** @var Test[] */

    private $items;

}

对于类属性。


从09年PHPDoc(以及像Zend Studio和Netbeans这样的IDE)没有这个选项时的回答:


你能做的最好的就是,


foreach ($Objs as $Obj)

{

    /* @var $Obj Test */

    // You should be able to get hinting after the preceding line if you type $Obj->

}

我在Zend Studio中做了很多。不了解其他编辑,但它应该工作。


查看完整回答
反对 回复 2019-08-30
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

在JetBrains的PhpStorm IDE中,您可以使用/** @var SomeObj[] */,例如:


/**

 * @return SomeObj[]

 */

function getSomeObjects() {...}

该PHPDoc的文档建议使用此方法:


如果指定包含单个类型,则Type定义会通知读者每个数组元素的类型。然后只需要一个Type作为给定数组的元素。


例: @return int[]


查看完整回答
反对 回复 2019-08-30
?
白衣染霜花

TA贡献1796条经验 获得超10个赞

Netbeans提示:


你得到的代码完成的$users[0]->和$this->用户类的数组。


/**

 * @var User[]

 */

var $users = array();

完成后,您还可以在类成员列表中看到数组的类型 $this->...


查看完整回答
反对 回复 2019-08-30
  • 3 回答
  • 0 关注
  • 842 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信