为什么要在注释中声明 PHP 变量类型?
我对 PHP 相当陌生,我刚刚开始使用 NetBeans 来开发我的 PHP 代码。
突然,当我在查询中输入变量时,会弹出一个对话框,要求我完成注释以保存变量类型。我做了一些调查,发现这似乎是 NetBeans 的一个热门功能,但我找不到任何信息来向我解释为什么会这样。
为什么有人想在注释中放置PHP变量的类型?它是用于开发用途,还是实际上有利于代码本身?它是整体的,还是可选的?
我对 PHP 相当陌生,我刚刚开始使用 NetBeans 来开发我的 PHP 代码。
突然,当我在查询中输入变量时,会弹出一个对话框,要求我完成注释以保存变量类型。我做了一些调查,发现这似乎是 NetBeans 的一个热门功能,但我找不到任何信息来向我解释为什么会这样。
为什么有人想在注释中放置PHP变量的类型?它是用于开发用途,还是实际上有利于代码本身?它是整体的,还是可选的?
在方法注释内的标记中添加类型将允许 NetBeans 向您显示代码完成情况。这当然是可选的,但完全记录代码始终是一个好主意。@var
编辑:NetBeans 为您自动生成注释的一个提示是使用扩展。为此,只需将光标放在要记录和键入的属性或方法的上方,然后按键。这将展开 phpDoc 样式注释并添加相应的标记。/**
/**
ENTER
编辑 2:可以在属性上使用标记,也可以在方法上使用标记,以便通过传递到方法中的参数达到相同的效果。@var
@param
在属性上使用标记将为您提供代码提示,同时在可见的任何位置使用属性:@var
/**
*
* @var My_Type
*/
private $_myProperty;
在方法上使用标记将为您提供代码提示,同时使用方法中的参数:@param
/**
*
* @param My_Type $obj
*/
public function myMethod($obj) {
}
另一种在提供类型安全的同时实现类似效果的方法是使用PHP的类型提示机制:
public function myMethod(My_Type $obj) {
}
请注意,此方法具有方法签名中指定的类型。NetBeans 现在将在使用标记的方法中提供相同的代码完成,如果传递到方法中的类型与指定的类型不同,PHP 将生成一个。如果您有兴趣了解有关上述错误的更多信息,请参阅PHP有关错误的文档以及如何处理它们。@param
E_RECOVERABLE_ERROR