今天一直在纠结如何让类的封装更好,于是稍稍深入的研究了一下php中类的访问控制。大概归纳如下:
public我想应该不用解释什么了吧。主要是protected和private,
一、protected只是不能在外部使用,在子类及其子类都是可以访问的,但是这里要注意什么是外部与内部。
内部是指类的内部,比如
- $a = new A();
- $a -> show();
- /*如果show是A中的protected方法,这里访问就是外部访问了
- 内部访问是指在类里面比如
- */
- class A{
- protected function show(){
- echo "protected";
- }
- public function pshow(){
- $this->show();//这样就是内部访问,是正确的
- }
- }
二、private 是只能在定义该方法的类的内部访问的,子类也不能访问,更别说外部访问了,在上面已经说了内部与外部区别了,所以,这个理解就很容易了。