7

我一直在使用 Joomla 框架,我注意到他们使用约定来指定私有或受保护的方法(他们_在方法名称前加上下划线“”),但他们没有明确声明任何方法publicprivateprotected. 为什么是这样?跟便携有关系吗?旧版本的 PHP 中是否不提供、publicprivate关键字?protected

4

3 回答 3

17

public、private 和 protected 是 PHP5 关键字。不幸的是,PHP4 的安装基数仍然很高(尤其是在共享托管服务中)。

这是一张漂亮的图片,显示了 7 月的使用率(法文文本)。剧透:遗憾的是,php4 的使用率仍然超过 35%。

于 2008-10-13T04:46:06.360 回答
3

在这里不使用private方法和属性有一些很好的论据:http: //aperiplus.sourceforge.net/visibility.php

包括:使编码和阅读代码更加困难。使重用类和调试更加困难。

无论哪种方式,我都没有被出售,但我希望看到对该文章的知情反驳,如果存在的话。

于 2010-11-28T23:32:37.297 回答
2

PHP5 在对象模型中引入了一些重大变化。在支持可见性中,还有其他各种变化。请务必检查:

PHP 4 类和对象

PHP 5 类和对象

于 2008-10-13T20:31:25.063 回答