对于itteratable对象有适当的phpdoc评论吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了对于itteratable对象有适当的phpdoc评论吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1462字,纯文字阅读大概需要3分钟。
内容图文
![对于itteratable对象有适当的phpdoc评论吗?](/upload/InfoBanner/zyjiaocheng/771/ac45031a4ca04b3fa239e1158201ee5a.jpg)
我在尝试为以下代码示例获取正确的自动完成时遇到了一些问题.我在Win7机器上使用PHPStorm 7.
首先只是一个简单的课程.
/**
* Class myObject
*/
class myObject
{
/**
* some method
*/
public function myMethod()
{
// do something
}
}
这个是集合类,它可以包含先前类的多个实例,并实现ItteratorAggregate接口.
/**
* Class myCollection
*/
class myCollection implements IteratorAggregate
{
/**
* @var myObject[]
*/
protected $_objects = array();
/**
* @param myObject $object
* @return myCollection
*/
public function add(myObject $object)
{
$this->_objects[] = $object;
return $this;
}
/**
* @return ArrayIterator
*/
public function getIterator()
{
return new ArrayIterator($this->_objects);
}
}
这是代码示例.
$collection = new myCollection;
$collection->add(new myObject);
$collection->add(new myObject);
foreach ($collection as $object) {
$object->myMethod(); // gets no autocompletion
}
正如您可能已经猜到的那样(并在示例中读取)myMethod()调用未自动完成,并且正在代码分析中列出.我找到的唯一方法是为$object添加一个注释块,我发现,说实话,非常讨厌.
/** @var $object myObject */
foreach ($collection as $object) {
$object->myMethod(); // gets autocompletion now, but sucks
}
那么,关于如何解决这个问题的任何想法或基本知识?
解决方法:
您的
/ ** @var $object myObject * /
block确实是实现这一目标的正确方法.你期望做的工作的语法,
/ **
* @var myObject []
* /
虽然它是非正式使用并且正在进行标准化工作,但它不是标准的phpdoc表示法.在这种标准化确实发生之前,识别它的IDE可能会被击中或者错过.实际上,$object local var block的IDE覆盖率也是命中注定.
内容总结
以上是互联网集市为您收集整理的对于itteratable对象有适当的phpdoc评论吗?全部内容,希望文章能够帮你解决对于itteratable对象有适当的phpdoc评论吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。