今天一直在糾結如何讓類的封裝更好,於是稍稍深入的研究了一下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 是只能在定義該方法的類的內部訪問的,子類也不能訪問,更別說外部訪問了,在上面已經說了內部與外部區別了,所以,這個理解就很容易了。