我是 PHP 新手,刚开始使用 NetBeans 开发我的 PHP 代码。
当我在查询中输入变量时,突然弹出一个对话框,要求我填写注释以保存变量类型。我做了一些调查,发现这似乎是 NetBeans 的一个流行特性,但我找不到任何信息来向我解释为什么会出现这种情况。
为什么有人要在注释中放置 PHP 变量的类型?它是用于开发用途,还是实际上有利于代码本身?它是不可或缺的,还是可选的?
最佳答案
在方法注释内的 @var
标记中添加类型将允许 NetBeans 向您显示代码完成。这当然是可选的,但完整记录您的代码总是一个好主意。
编辑: NetBeans 为您自动生成注释的提示是使用 /**
扩展。为此,只需将光标放在要记录的属性或方法上方并键入 /**
,然后按 ENTER
键。这将扩展一个 phpDoc 样式的注释并添加适当的标签。
编辑 2:
您可以在属性上使用 @var
标记,也可以在方法上使用 @param
标记来实现与传递给方法的参数相同的效果。
在属性上使用 @var
标记将为您提供代码提示,同时在任何可见的地方使用该属性:
/**
*
* @var My_Type
*/
private $_myProperty;
在方法上使用 @param
标记将在方法内使用参数时为您提供代码提示:
/**
*
* @param My_Type $obj
*/
public function myMethod($obj) {
}
另一种实现类似效果同时也提供少量类型安全的方法是使用 PHP 的 type hinting机制:
public function myMethod(My_Type $obj) {
}
请注意,此方法具有方法签名中指定的类型。 NetBeans 现在将在方法内提供与使用 @param
标记相同的代码完成功能,如果传递给方法的类型不同,PHP 将生成 E_RECOVERABLE_ERROR
指定的类型。见 PHP's documentation regarding errors如果您有兴趣了解有关上述错误的更多信息,以及如何处理它们。
关于php - 为什么要在注释中声明 PHP 变量类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7861375/