创建课程时@param是什么意思?据我所知,它用于告诉脚本变量是什么类型的数据类型以及函数返回的值类型,是吗? 例如:
/**
* @param string $some
* @param array $some2
* @return void
*/
没有另一种方法可以做到这一点,我正在考虑这样的事情:void function() { ... }
或类似的东西。对于变量,可能是(int)$ test;
答案 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 ++)可以轻松查看最新代码和最新评论。