Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用phpdoc记录修改受保护属性的方法?_Php_Phpdoc - Fatal编程技术网

如何用phpdoc记录修改受保护属性的方法?

如何用phpdoc记录修改受保护属性的方法?,php,phpdoc,Php,Phpdoc,用phpdoc记录修改受保护属性的方法的最佳方式是什么 例如,下面记录setVar()方法的正确方法是什么 class Test { protected $variables = array(); public function setVar($name, $value) { $this->$variables[$name] = $value; } } 提前感谢, .L.我通常使用类似于以下内容的内容,尽管可能有更好的方法 class Test { protec

用phpdoc记录修改受保护属性的方法的最佳方式是什么

例如,下面记录setVar()方法的正确方法是什么

class Test {
  protected $variables = array();

  public function setVar($name, $value) {
    $this->$variables[$name] = $value;
  }
}
提前感谢,


.L.

我通常使用类似于以下内容的内容,尽管可能有更好的方法

class Test {
  protected $variables = array();

 //**
   * Setter for $this->variables
   *
   * @var string
   * @var string
   * @returns void
   */
  public function setVar($name, $value) {
    $this->$variables[$name] = $value;
  }
}

我通常使用类似于下面的方法,尽管可能有更好的方法

class Test {
  protected $variables = array();

 //**
   * Setter for $this->variables
   *
   * @var string
   * @var string
   * @returns void
   */
  public function setVar($name, $value) {
    $this->$variables[$name] = $value;
  }
}
我想这取决于你为什么想强调这个方法会影响这个受保护的属性

如果您只是想“说”出来,只需在描述中这样说,无论是否使用内联@link标记:

/**
 * Setter for $variables or {@link Test::$variables}
 * ...
通过使用inline@link,在方法的描述中生成一个指向$variables文档的超链接

您可以使用@see标记作为对属性的独立引用:

/**
 * Setter
 * @see Test::$variables 
 * ...
这也会创建一个指向属性文档的超链接,但它有自己的标记,因此更加突出

如果要创建从方法到属性的“指针”,请使用@uses标记:

/**
 * Setter
 * @uses Test::$variables
 * ...
此处方法中的@uses标记将自动在$variables属性的文档中放置@usedby标记。。。结果是从方法到方法文档中的属性的超链接,以及从属性到属性文档中的方法的超链接。可以把它想象成线索板游戏中的“秘密通道”,将角落房间与对面的角落房间连接起来

通过@uses标记可以满足的另一个目的是,$variables的文档将显示@usedby标记的列表,其中显示影响属性的所有方法。。。当然,假设您认真地在这些方法中添加@uses标记。

我想这取决于您为什么要强调该方法会影响受保护的属性

如果您只是想“说”出来,只需在描述中这样说,无论是否使用内联@link标记:

/**
 * Setter for $variables or {@link Test::$variables}
 * ...
通过使用inline@link,在方法的描述中生成一个指向$variables文档的超链接

您可以使用@see标记作为对属性的独立引用:

/**
 * Setter
 * @see Test::$variables 
 * ...
这也会创建一个指向属性文档的超链接,但它有自己的标记,因此更加突出

如果要创建从方法到属性的“指针”,请使用@uses标记:

/**
 * Setter
 * @uses Test::$variables
 * ...
此处方法中的@uses标记将自动在$variables属性的文档中放置@usedby标记。。。结果是从方法到方法文档中的属性的超链接,以及从属性到属性文档中的方法的超链接。可以把它想象成线索板游戏中的“秘密通道”,将角落房间与对面的角落房间连接起来


通过@uses标记可以满足的另一个目的是,$variables的文档将显示@usedby标记的列表,其中显示影响属性的所有方法。。。当然,假设您认真地在这些方法中添加@uses标记。

最常见的原因是不必重新键入变量的说明。最常见的原因是不必重新键入变量的说明。