今天一直在纠结如何让类的封装更好,于是稍稍深入的研究了一下php中类的访问控制。大概归纳如下:

public我想应该不用解释什么了吧。主要是protected和private,

一、protected只是不能在外部使用,在子类及其子类都是可以访问的,但是这里要注意什么是外部与内部。

内部是指类的内部,比如

 

  1. $a = new A();  
  2. $a -> show();  
  3. /*如果show是A中的protected方法,这里访问就是外部访问了  
  4. 内部访问是指在类里面比如  
  5. */ 
  6. class A{  
  7. protected function show(){  
  8.  echo "protected";  
  9. }  
  10. public function pshow(){  
  11.  $this->show();//这样就是内部访问,是正确的  
  12. }  

二、private 是只能在定义该方法的类的内部访问的,子类也不能访问,更别说外部访问了,在上面已经说了内部与外部区别了,所以,这个理解就很容易了。