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

2022-08-30 14:56:42

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

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

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


答案 1

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

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


答案 2

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

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

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

function importArray(array $myArray)
{
}

如果您尝试使用数组以外的任何内容调用此方法,PHP 将引发错误。

class MyClass
{
}

function doStuff(MyClass $o)
{
}

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


推荐