php - 以下划线为前缀的 protected 属性

标签 php coding-style naming-conventions standards

喜欢:

public
  $foo        = null,
  $bar        = 10;

protected

  $_stuff     = null,
  $_moreStuff = 5;

似乎很多人都这样做。为什么?

这不是命名不一致吗(就像某些 PHP 函数那样:))?

最佳答案

这是 php5 之前的旧约定。

Php4 只具有公共(public)可见性,不知何故人们希望能够判断一个属性是公共(public)的还是私有(private)的(方法也是如此)。下划线前缀表示私有(private)成员或方法,不能从外部使用。

尽管严格来说它在 php5 中是不必要的,您可以在其中明确标记类成员的可见性,但这种约定仍然很常见。用户争辩说这使得略读代码更容易,因为您可以立即查看是否也可以从外部调用该函数。这取决于个人喜好或给定项目的编码风格。

关于php - 以下划线为前缀的 protected 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12013631/

相关文章:

ios - 更清洁的 XCode 宏

python - Python 中的函数式与命令式风格

c++ - 字节顺序转换和 g++ 警告

php - 我对类名的选择受到 Windows XP 最大路径长度问题和 SVN/域驱动设计的阻碍——任何解决方案

php - ErrorException (E_ERROR) 试图获取非对象的属性 'id'(查看 : - laravel 5. 5

php 安全和使用 html 链接 (GET) 标记要删除的 mysql 记录

ios - ios项目结构是否有任何最佳实践或约定

ios - 初始化器中的局部参数标签命名约定

php - 如何防止 PHP 中的 SQL 注入(inject)?

php - 如何根据用户选择数据库?