创建类时@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)
{
}
如果您尝试使用除 之外的任何类型的对象调用 doStuff MyClass
,PHP 将再次抛出错误。
我知道这是旧的,但仅供参考,问题第二部分的答案是现在,PHP7
.
// this function accepts and returns an int
function age(int $age): int{
return 18;
}
PHP 完全没有注释。它用于描述该方法仅用于使代码更具可读性和可理解性的参数。
@param
此外,良好的代码实践致力于为文档生成器使用某些名称(例如)。
@param
将鼠标悬停在相关方法上时,某些 IDE 会在工具提示中包含和其他信息。
@param 是描述注释的一部分,它告诉您输入参数类型是什么。它与代码语法无关。使用 Notepad++ 等支持颜色的编辑器轻松查看代码和注释。