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方法


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM