2009-06-11 155 views
1

有时在评论时必须引用另一种方法。在这里,在PHP中的一些例子:注释中注释方法的首选方式是什么?

class A 
{ 
    /** 
    * @see B::bar 
    */ 
    public function foo() 
    { 
     B::bar(); 
    } 
} 

class B 
{ 
    public static function bar() 
    { 
     // ... 
    } 
} 

那么,是否会有一个非静态方法barB类? 在评论中命名其他方法的最佳方式是什么?

编辑

PHP手册似乎使用mysqli->affected_rows以及PDO::beginTransaction。但它不包括方法名称后的括号。什么是亲和骗局?我的意思是很明显,一种方法后面跟着括号,所以为什么不出来呢?

Thx提前!

回答

1

您可以使用->运算符来引用实例/对象方法而不是类方法。 PHP.net在他们的手册中也是这样做的(例如参见MySQLi class)。

1

我会写:

class A { 
    // see B::bar() 
    public function foo() { 
     B::bar(); 
    } 
} 

我关于我的各种变化最强烈地举行的看法是,信箱意见是魔鬼的工作。关于你的静态和非静态的东西,我理解和使用B::bar()来指代对话目的的功能定义,无论bar()是否是静态的。

上面的例子,当然,仅用于说明目的,因为如果有真正的功能A::foo()说什么也没做,但打电话B::bar(),我将不包括评论,因为如果读我的代码的人是白痴,我不想帮他。

+0

1. Thx! 2.对不起,但我不是母语。什么是“信箱评论”? – 2009-06-11 17:50:49

+0

通过信箱评论我的意思是你使用/ * * /和那些左边界的*字符。真正令人震惊的人有巨大的星号的顶部和底部边界(有时甚至是正确的边界,如果你能相信的话)。我讨厌正常人,就像你在你的例子中那样,主要是因为他们让我想起了那些令人震惊的人。 – chaos 2009-06-11 18:03:27

1

在我看来,你的例子就足够了。不过,您应该将B :: bar作为B :: bar()引用。

你可能要考虑使用@uses php-doc tag,它会自动创建在B :: bar()中生成的文档一@usedby参考,指回A级

/** 
* @uses B::bar() 
*/ 

至于文档有关,静态方法与@uses,@usedby或@see,仅@静态无关。 @uses标记中的静态标记只是传达范围以查找bar()方法,而不是表示@static。

0

的phpDocumentor的文档似乎暗示着你可以使用类似

class A 
{ 
    /** 
    * @see B 
    * @see function bar() 
    */ 
    public function foo() 
    { 
    // ... 
    } 
} 

同样来自phpDocumentor manual

@uses非常相似@see,看到@的 文档请参阅有关 格式和结构的详细信息。 @uses标签 与@see有两个不同之处。 @see是 的单向链接,即含有@see标记 的文档 包含指向其他文档的链接。@uses标记 会自动在其他文档 中创建虚拟 @usedby标记,该文档链接到包含@uses标记的文档 。在其他 单词中,它完全像@see,除了 自动添加了返回链接。

相关问题