【问题标题】:Why we declare some variables in PHP as like "$_variablename"...? [duplicate]为什么我们在 PHP 中将一些变量声明为“$_variablename”...? [复制]
【发布时间】:2013-04-09 06:32:59
【问题描述】:

为什么我们在 PHP 中将一些变量声明为 $_variablename

_ 是否定义了什么?

请帮我解决这个问题,谢谢。

【问题讨论】:

  • 下划线没有固有的含义。这是个别开发者的命名偏好。
  • 前导下划线通常用于私有属性和方法。当私有方法没有在 PHP 中实现时,这是 PHP 的旧做法
  • No _ 没有定义变量或函数私有,这是一个命名约定,只是为了提醒变量或函数是私有的
  • 这不是重复的...链接的帖子是关于类方法的,而这个是针对变量的。这篇文章确认它是相同的变量约定。

标签: php oop variables


【解决方案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/检查一下

        【讨论】:

          猜你喜欢
          • 2013-04-16
          • 2015-05-02
          • 1970-01-01
          • 2021-12-21
          • 1970-01-01
          • 2014-07-20
          • 2015-06-22
          相关资源
          最近更新 更多