類型的訪問修飾符允許開發人員對類成員的訪問進行限制,這是PHP5 的新特性,但卻是OOP語言的一個好的特性。而且大多數OOP 語言都已支持此特性。PHP5 支持如下3 種訪問修飾符:
public(公有的、默認的),private(私有的)和protected(受保護的)三種。
public 公有修飾符,類中的成員將沒有訪問限制,所有的外部成員都可以訪問(讀和寫)這個類成員(包括成員屬性和成員方法),在PHP5 之前的所有版本中,PHP 中類的成員都是public 的,而且在PHP5 中如果類的成員沒有指定成員訪問修飾符,將被視爲public 。
例:public $name;public function say(){};private 私有修改符,被定義爲private 的成員,對於同一個類裏的所有成員是可見的,即是沒有訪問限制;但對於該類的外部代碼是不允許改變甚至讀操作,對於該類的子類,也不能訪問private 修飾的成員。
例: private $var1 = ‘A’; //屬性private function getValue(){} //函數protected 保護成員修飾符,被修飾爲protected 的成員不能被該類的外部代碼訪問。但是對於該類的子類有訪問權限,可以進行屬性、方法的讀及寫操作,該子類的外部代碼包括其的子類都不具有訪問其屬性和方法的權限。
例:protected $name;protected function say(){};
private protected public
同一個類中 √ √ √
類的子類中 √ √
所有的外部成員√