从php mannual读取代码时我感到困惑 -
以下两种语法有什么区别 -
final public string Exception::getMessage ()
vs
final public string Exception::getMessage ( void )
Manuel说这个函数没有参数,那么在那里传递那个空隙的目的是什么。虽然无效但它的自我代表它会注意到。所以我的问题是 -
1-在两种语法中哪一种是最标准的方式?为什么?
答案 0 :(得分:5)
void
不是实际的语言结构。它仅用于手册中的装饰目的。
请参阅http://php.net/manual/en/language.pseudo-types.php
<强>空隙强>
void作为返回类型意味着返回值无用。参数列表中的void表示该函数不接受任何参数。
PHP手册,©1997-2015 PHP文档组,CC-BY-SA 3.0
答案 1 :(得分:4)
好吧,let's try:
class Foo{
function bar(void){
}
}
致命错误:语法错误,意外&#39;)&#39;,期待&#39;&amp;&#39;或第4行的T_VARIABLE或...... in / in / FB6Wb
所以区别在于前者实际运行:)
现在认真地说,除了文档中用于解释方法签名的语法之外,您不应该按原样键入。
我可能错了,但我认为手册本身并没有记录。一旦你阅读了大量文档,我想你会熟悉它。请参阅马里奥的答案,找到解释伪类型的链接。其他语法位(比如使用方括号作为可选参数)是一种广泛使用的惯例,其历史可以追溯到Unix的早期阶段,我认为它们并未在PHP手册中明确记录。