@param在类中是什么意思


What does @param mean in a class?

创建类时@param是什么意思?据我所知,它是用来告诉脚本变量是什么类型的数据类型,函数返回什么类型的值,对吗?例如:

/**
 * @param string $some
 * @param array $some2
 * @return void
 */

难道没有其他方法可以做到这一点吗?我想的是:void function() { ... }或类似的东西。对于变量,可能(int)$test;

@param在PHP中没有特殊含义,它通常用于注释中编写文档。您提供的示例说明了这一点。

如果使用文档工具,它将在代码中搜索@param@summary和其他类似值(取决于工具的复杂程度),以自动为代码生成格式良好的文档。

正如其他人所提到的,您所指的@param是注释的一部分,在语法上没有意义。它只是为文档生成器提供提示。通过查看PHPDoc项目,您可以找到有关支持的指令和语法的更多信息。

说到你问题的第二部分。。。据我所知,在PHP中没有指定返回类型的方法。您也不能强制参数为特定的基元类型(字符串、整数等)。

然而,您可以要求参数要么是数组,要么是对象,要么是PHP 5.1左右的特定类型的对象

function importArray(array $myArray)
{
}

如果您尝试使用数组以外的任何东西调用此方法,PHP将抛出错误。

class MyClass
{
}
function doStuff(MyClass $o)
{
}

如果您试图用除MyClass之外的任何类型的对象调用doStuff,PHP将再次抛出错误。

我知道这是旧的,但仅供参考,问题第二部分的答案现在是PHP7

// this function accepts and returns an int
 function age(int $age): int{
  return 18;
}

PHP完全不注意注释。它用于描述该方法所采用的参数,只是为了使代码更可读、更易于理解。

此外,良好的代码实践专门为文档生成器使用某些名称(如@param)。

当将鼠标悬停在相关方法上时,某些IDE会在工具提示中包含@param和其他信息。

@param是描述注释的一部分,告诉您输入参数类型是什么。它与代码语法无关。使用支持颜色的编辑器,如Notepad++,可以轻松查看whats代码和whats注释。

PARAM是"参数";用英语PARAM一词的含义PARAM是指";参数";,翻译成越南语为";参数"参数";。PARAM代表什么?PARAM中缩写的短语是"Parameter"。

一些其他类型的缩写PARAM:

  • 并行机器:并行机器——这是印度的一种超级计算机