php - 为什么要在注释中声明 PHP 变量类型?

标签 php variables netbeans

我是 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/

相关文章:

Java项目在netbeans中运行,但不是从命令行运行

php - 在 FPDF PHP 中将 â 符号(保存在数据库中)更改为 €(欧元符号)

php - 获取最后选中的复选框

linux - 两次 Bash 命令替换

C# 标志问题

java - 无法加载身份验证插件  'caching_sha2_password'

php - .htaccess 文件从数据库中删除

php - 将行移动到另一个表并插入附加值

ios - 快速从文本文件加载单独的组件

java - 访问 Jar 中的 PDF