标签: phpdoc

PHPDoc类型提示对象数组?

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

<?php
  class Test
  {
    /** @var SomeObj */
    private $someObjInstance;
  }
?>
Run Code Online (Sandbox Code Playgroud)

这很有效,直到我需要对一个对象数组做同样的事情,以便在稍后迭代这些对象时能够获得正确的提示.

那么,有没有办法声明一个PHPDoc标记来指定成员变量是一个SomeObjs 数组?@var例如,数组是不够的,@var array(SomeObj)似乎没有效果.

php ide var phpdoc hint

399
推荐指数
10
解决办法
17万
查看次数

PHP函数评论

只是一个简单的问题:我已经看到一些PHP函数在顶部被注释,使用了我不知道的格式:

/**
 *
 * Convert an object to an array
 *
 * @param    object  $object The object to convert
 * @return      array
 *
 */
Run Code Online (Sandbox Code Playgroud)

我的IDE为@param和@return之类的内容提供了一个下拉选项,因此必须在某处记录.我试过搜索谷歌,但它的搜索中不会包含@符号.

这种评论格式是什么?我在哪里可以找到相关信息?

php format comments function phpdoc

105
推荐指数
4
解决办法
9万
查看次数

Netbeans中的变量类型提示(PHP)

只是好奇是否有一种方法可以为netbeans提供常规变量的类型提示,以便intellisense选择它.我知道你可以为类属性,函数参数,返回类型等做这些,但我无法弄清楚如何为常规变量做到这一点.在你有一个可以返回不同对象类型的方法(比如服务定位器)的情况下,它会非常有用.

像这样的东西:

/**
 * @var Some_Service $someService
 */
$someService = ServiceLocator::locate('someService');
Run Code Online (Sandbox Code Playgroud)

在之后使用$ someService的情况下,netbeans将提供Some_Service类中定义的所有可用方法.

php phpdoc php-ide

80
推荐指数
4
解决办法
4万
查看次数

PHPDoc:@return void必要吗?

真的有必要做这样的事情:

/**
 * ...
 * 
 * @return void
 */
Run Code Online (Sandbox Code Playgroud)

我有很多没有返回值的方法,在评论中添加这样的东西似乎很多余.将它排除在外会被认为是不好的形式吗?

php phpdoc return-value

77
推荐指数
4
解决办法
4万
查看次数

为常量编写PHPDocs的正确方法是什么?

我有这个代码:

/**
 * Days to parse
 * @var int
 */
const DAYS_TO_PARSE = 10;
...
Run Code Online (Sandbox Code Playgroud)

我不认为使用@var对于常量是正确的,我没有看到任何@constantPHPDoc标记.这样做的正确方法是什么?

php phpdoc

72
推荐指数
4
解决办法
3万
查看次数

在PHPDoc中记录数组选项的最佳方法?

我正在努力编写可读且易于理解的文档,该文档描述了传递给函数的Array选项的多树结构.

这是一个示例数组结构.

$arr = [
   'fields' => [
       'title' => [
           'name'     => 'Document.title',
           'format'   => 'string',
           'readonly' => true
       ]
   ]
];
Run Code Online (Sandbox Code Playgroud)

上述数组有许多可能的选项,但这用作理解该结构的函数的参数.

function doSomething(array $arr) { ... }
Run Code Online (Sandbox Code Playgroud)

我想记录如何在PHPDoc中构建数组,但我不确定正确的方法是什么.

这就是我现在拥有的.

/**
 * Holds configuration settings for each field in a model.
 * Defining the field options
 *
 * array['fields'] array Defines the feilds to be shown by scaffolding.
 * array['fields'][fieldName] array Defines the options for a field, or just enables the field if array is not applied.
 * …
Run Code Online (Sandbox Code Playgroud)

php cakephp phpdoc

49
推荐指数
6
解决办法
5万
查看次数

我应该使用@return self,this还是当前的类?

我有一个返回当前对象的方法,我该如何记录?

/**
 * set something
 *
 * @return this
 */
public function setSomething(){
            // ...
    return $this;
}
Run Code Online (Sandbox Code Playgroud)

或者我应该做的@return self还是@return Current_Class_Name

php documentation doc phpdoc

40
推荐指数
4
解决办法
1万
查看次数

你能暗示数组的项目类型吗?

这个问题是与这一个:

是否可以提示返回数组中的项类型?

例如:

/**
 *  MyFunction does a lot of things
 *
 * @param TClass1 $var1
 * @param TClass2 $var2
 * @return array[TClass3] //<- I'm trying to express this
 */
 function MyFunction( $var1, $var2 ){
   ...
Run Code Online (Sandbox Code Playgroud)

我使用NetBeans作为IDE,它(像许多其他PHP IDE一样)利用上面函数的doc bloc来确定返回值的类型.

如果我能解释数组中预期的类型,我希望IDE能够为以下情况提供正确的完成:

  $myTab = MyFunction( $foo, $bar );
  foreach( $myTab as $itm ){
    $itm->myFi| //offer the completion for a TClass3 object
  }
Run Code Online (Sandbox Code Playgroud)

php netbeans phpdoc return-value type-hinting

34
推荐指数
1
解决办法
6869
查看次数

Sublime Text 2评论/文件块

最近,我决定尝试使用Sublime Text 2作为TextMate替代品(它是).我非常喜欢它,但唯一让我烦恼的问题是它在按下"Enter"时不会继续PHP Comment/Doc Block.

它只是添加了新的空行而不是以"*"开头的行,如此处所示 http://cl.ly/AFcP/o

这个问题有方法解决吗?我试着为它做一个键绑定,但这对我来说太复杂了,特别是因为我对编辑器不太熟悉.

提前致谢.

phpdoc sublimetext

33
推荐指数
2
解决办法
3万
查看次数

PHPDoc可选参数

这里有两个类似的问题,但是没有一个答案似乎有效.

PHPDoc似乎没有将我的函数中的可选参数识别为可选参数,例如:

/**
 * Opens the connection and sets encoding
 * 
 * @param string $encoding Encoding.
 */
public function __construct($encoding='UTF-8') 
{
    $this->connect_mysqli();
    $this->set_encoding_mysqli($encoding);
}
Run Code Online (Sandbox Code Playgroud)

它不应该认为$ encoding是可选的,或者我在这里遗漏了什么?我真的试着谷歌并阅读文档,但我找到的只是:

如果你没有在实际代码中指出参数是可选的(通过"$ paramname ='默认值'"),那么你应该在参数的描述中提到参数是可选的.

所以我看到我的代码没有问题,但我在文档中得到的是:"__ construct(string $ encoding)",在参数是可选的任何地方都没有任何符号.

php param phpdoc optional

31
推荐指数
1
解决办法
2万
查看次数