当前位置: 首页 > 面试题库 >

PHPDoc类型提示对象数组?

常经赋
2023-03-14
问题内容

因此,在PHPDoc中,可以@var在成员变量声明上方指定以提示其类型。然后是一个IDE,例如。PHPEd将知道它正在使用哪种类型的对象,并且能够为该变量提供代码见解。

<?php
  class Test
  {
    /** @var SomeObj */
    private $someObjInstance;
  }
?>

这非常有用,直到我以后需要遍历这些对象时,我需要对一组对象进行相同的操作才能获得正确的提示。

因此,有没有一种方法可以声明一个PHPDoc标记以指定成员变量是SomeObjs 的数组?@var例如,数组是不够的,而且@var array(SomeObj)似乎无效。


问题答案:

采用:

/* @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中做了很多。不了解其他编辑器,但它应该起作用。



 类似资料:
  • 问题内容: 我有很多函数,它们具有对数组的类型提示或用于检查变量的数组性质。 现在,我开始使用可迭代的对象。他们实施或。如果它们通过类型提示或接受,则将它们接受为数组吗? 如果必须修改代码,是否有通用的,或者我必须做类似的事情: 还有哪些其他可迭代的接口? 问题答案: 我认为您的意思是instanceof ,PHP没有接口。它确实有一个接口。并且两者都进行了扩展(而AFAIK只是这样做的)。 但是

  • 本文向大家介绍PHP 类型提示标量类型,数组和可调用对象,包括了PHP 类型提示标量类型,数组和可调用对象的使用技巧和注意事项,需要的朋友参考一下 示例 在PHP 5.1中,使用关键字添加了对类型提示数组参数的支持(以及PHP 7.1之后的返回值)array。任何尺寸和类型的数组以及空数组都是有效值。 在PHP 5.4中添加了对类型提示可调用对象的支持。is_callable()对于参数有效的任何

  • 问题内容: 我得到错误: 我确信这是一个已知的范例,因为这似乎是一个非常常见的分层类使用问题(一个自引用类)。我知道我可以将be的类型更改为有效,但是这样做似乎是错误的事情,主要是因为它削弱了我检查呼叫类型的能力。随着改变是一种类型的我得到正确的结果: 我愿意考虑和提出建议。做这种事情的最“ pythonic”方法是什么? PS:这种“自我引用类”范式/问题的名称是什么,我可以用它来查找其他建议吗

  • 我得到一个错误: 我确信这是一个已知的范例,因为它似乎是一个非常常见的层次类使用问题(自引用类)。我知道我可以将

  • 所以我有了这个类,我想要一个接受int的方法,并创建一个这个大小的新数组。如果我声明 这将创建一个大小为10的数组。 我试过做

  • 问题内容: class Node: def append_child(self, node: Node): if node != None: self.first_child = node self.child_nodes += [node] 我该怎么办?因为当我运行它时,它说。 我应该只删除and实例在函数中检查它吗?但是,我该如何访问的属性(我希望它是类的实例)? 我不知道如何在Python,