PHP成员变量作用域的限制-private


使用PHP编写个类,我们应该尽量避免动态改变类的成员变量,而将成员变量作用于定位private,使用get和set方法来获取这些成员变量,如

 1 <html>
 2       <body>
 3           <?php
 4              class Man {
 5                  private $name;
 6                  
 7                  function getName() {
 8                      return 'Mr/Mrs ' . $this->name;
 9                  }
10                  
11                  function setName($name) {
12                      $this->name = $name;
13                  }
14              }
15              
16              $man = new Man();
17              $man->naem = 'Jack';
18              
19              var_dump($man);
20           ?>
21       </body>
22   </html>

使用private主要用途有2个

1.假如我们不这样写,会有什么问题,也许有一天你在设置名字的时候你写错了,注意红字部分,name写成了naem,看看输出结果

object(Man)#1 (2) { ["name":"Man":private]=> NULL ["naem"]=> string(4) "Jack" }

PHP不会报错,直接给$man实例增加了一个naem属性,这显然不是我们想要的

本来这种不需要声明却可以直接使用变量的特性在这里却埋下了隐患,所以一定要注意这一点

2.使用private可以强制在获取或者设置属性使用get和set方法,并且在方法内对属性做一些处理,如上述的get方法

优质内容筛选与推荐>>
1、近两年跟踪速度较快的算法小结(转)
2、卸载网站安全狗之后网站无法访问问题
3、【Java多线程】Executor框架的详解
4、springmvc中Date对象获取不到表单序列化传过来的日期值解决办法
5、清北学堂模拟赛d2t2 位运算2(bit)


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号