在创建类时,@param是什么意思?据我理解,它用于告诉脚本变量的数据类型以及函数返回的值是什么类型,这正确吗? 例如:
/**
* @param string $some
* @param array $some2
* @return void
*/
还有没有其他的方法可以做到这一点?我想的像是:void function() { ... }
或者类似的东西。对于变量,也许可以用 (int)$test;
在创建类时,@param是什么意思?据我理解,它用于告诉脚本变量的数据类型以及函数返回的值是什么类型,这正确吗? 例如:
/**
* @param string $some
* @param array $some2
* @return void
*/
还有没有其他的方法可以做到这一点?我想的像是:void function() { ... }
或者类似的东西。对于变量,也许可以用 (int)$test;
@param
在PHP中没有特殊的含义,通常用于注释中编写文档说明。你提供的示例正是如此。
如果您使用文档工具,它将扫描代码中的@param
、@summary
和其他类似的值(根据工具的复杂程度),自动生成格式良好的代码文档。
我知道这已经过时了,但仅供参考,问题的第二部分答案现在是PHP7
。
// this function accepts and returns an int
function age(int $age): int{
return 18;
}
function importArray(array $myArray)
{
}
如果您尝试使用除数组以外的任何内容调用此方法,PHP将抛出错误。
class MyClass
{
}
function doStuff(MyClass $o)
{
}
MyClass
之外的任何类型的对象调用doStuff,PHP将再次抛出错误。PHP完全不理会注释。它仅用于描述方法所需的参数,以使代码更易读和理解。
此外,良好的代码实践致力于使用特定名称(例如@param
)来生成文档。
一些IDE将在悬停在相关方法上时,在工具提示中包含@param
和其他信息。
@param
的含义。 - Nico Haase