为啥我们在 PHP 中将一些变量声明为“$_variablename”...? [复制]
Posted
技术标签:
【中文标题】为啥我们在 PHP 中将一些变量声明为“$_variablename”...? [复制]【英文标题】:Why we declare some variables in PHP as like "$_variablename"...? [duplicate]为什么我们在 PHP 中将一些变量声明为“$_variablename”...? [复制] 【发布时间】:2013-04-09 06:32:59 【问题描述】:为什么我们在 php 中将一些变量声明为 $_variablename
?
_
是否定义了什么?
请帮我解决这个问题,谢谢。
【问题讨论】:
下划线没有固有的含义。这是个别开发者的命名偏好。 前导下划线通常用于私有属性和方法。当私有方法没有在 PHP 中实现时,这是 PHP 的旧做法 No _ 没有定义变量或函数私有,这是一个命名约定,只是为了提醒变量或函数是私有的 这不是重复的...链接的帖子是关于类方法的,而这个是针对变量的。这篇文章确认它是相同的变量约定。 【参考方案1】:这是一个命名约定。
来自pear manual 关于命名约定:
私有类成员前面有一个下划线。例如:
$_status
【讨论】:
【参考方案2】:下划线不代表变量是私有的。没有必要使用下划线。它只是一种命名约定,提醒开发人员变量/属性/方法是私有的还是受保护的
举例
// This variable is not available outside of the class
private $_someVariable;
class MyClass
// This method is only available from within this class, or
// any others that inherit from it.
protected function __myFunction()
在上面的代码中,下划线并不是使变量或方法成为私有的原因; private/protected 关键字就是这样做的。
【讨论】:
【参考方案3】:在您的代码中使用“_”或“__”不是强制性的,但它可以帮助您通过查看名称来理解变量/函数访问类型。
在一些 PHP 框架中你可能会看到:
_ for protected variable/function
__ for private variable/function
【讨论】:
【参考方案4】:this主要用于声明全局变量和函数中..一般不强制使用'_'this
http://php.net/检查一下
【讨论】:
以上是关于为啥我们在 PHP 中将一些变量声明为“$_variablename”...? [复制]的主要内容,如果未能解决你的问题,请参考以下文章