加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 为什么在类的构造函数的网站中声明vars?

发布时间:2020-12-13 21:40:50 所属栏目:PHP教程 来源:网络整理
导读:是否有充分的理由首先在构造函数之外声明类所使用的变量? class foo { var bar; // why is this a good practice? (or could it be skipped?) public function __construct() { $this-foo = 'foobar'; }} 我经常看到它,但我不确定它是做什么的,因为似乎可以
是否有充分的理由首先在构造函数之外声明类所使用的变量?

class foo { 

    var bar;  // why is this a good practice? (or could it be skipped?)

    public function __construct() {
        $this->foo = 'foobar';
    }
}

我经常看到它,但我不确定它是做什么的,因为似乎可以将它们排除在外.

解决方法

在构造函数之外声明一个属性实际上是声明它.

如果不这样做,则会在值受到影响时自动创建.

我认为声明属性至少有四个主要优点:

>您可以指定它们是公共的,受保护的还是私有的

>请参阅手册中的Visibility部分

>您的IDE将会看到它们,您可以在键入时将它们用作建议
例如,这是一个屏幕截图,显示了Eclipse PDT在输入时的帮助:
http://extern.pascal-martin.fr/so/5377256-1.png
>你可以在它们上添加一些phpdoc – 这意味着它们会出现在你的代码文档中(当你输入时,IDE也可以使用它来显示更好的建议 – 请参阅我的截图)
>声明属性可使代码更易于阅读:

>当查看类的定义时,会立即看到使用了哪些属性:无需从构造函数(或任何其他方法)猜测
>当然,在这里添加适当的phpdoc也有很大帮助.

所以:是的,即使PHP接受未声明的属性,您也应该声明它们.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读