@param在课堂上意味着什么?

时间:2012-01-23 21:44:57

标签: php class param

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

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

没有另一种方法可以做到这一点,我正在考虑这样的事情:void function() { ... }或类似的东西。对于变量,可能是(int)$ test;

5 个答案:

答案 0 :(得分:22)

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

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

答案 1 :(得分:3)

正如其他人提到的那样,你所指的@param是评论的一部分,而不是语法上的重要。它只是提供文档生成器的提示。您可以通过查看PHPDoc项目找到有关支持的指令和语法的更多信息。

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

但是,从PHP 5.1开始,您可以要求参数是数组,对象或特定类型的对象。

function importArray(array $myArray)
{
}

如果您尝试使用除数组之外的任何内容调用此方法,PHP将抛出错误。

class MyClass
{
}

function doStuff(MyClass $o)
{
}

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

答案 2 :(得分:2)

我知道这已经过时了,但仅供参考,问题的第二部分的答案现在是PHP7

// this function accepts and returns an int
 function age(int $age): int{

  return 18;
}

答案 3 :(得分:1)

PHP完全没有注意到评论。它用于描述该方法仅用于使代码更易读和易懂的参数。

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

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

答案 4 :(得分:0)

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

相关问题