类型的访问修饰符允许开发人员对类成员的访问进行限制,这是PHP5的新特性,但却是OOP语言的一个好的特性。而且大多数OOP语言都已支持此特性。PHP5支持如下3种访问修饰符:
public (公有的、默认的),protected (受保护的)和private (私有的)三种。
public 公有修饰符,类中的成员将没有访问限制,所有的外部成员都可以访问(读和写)这个类成员(包括成员属性和成员方法),在PHP5之前的所有版本中,PHP 中类的成员都是public的,而且在PHP5中如果类的成员没有指定成员访问修饰符,将被视为public 。例:
2 |
public function say(){ }; |
private 私有修改符,被定义为private的成员,对于同一个类里的所有成员是可见的,即没有访问限制;但对于该类的外部代码是不允许改变甚至读操作,对于该类的子类,也不能访问private修饰的成员。例:
2 |
private function getValue(){ } |
类内部访问方式为:$this->var1,$this->getValue()
protected保护成员修饰符,被修饰为protected的成员不能被该类的外部代码访问。但是对于该类的子类有访问权限,可以进行属性、方法的读及写操作,该子类的外部代码包括其的子类都不具有访问其属性和方法的权限。
例:
2 |
protected function say(){ }; |
|
private |
protected |
public |
同一个类中 |
√ |
√ |
√ |
类的子类中 |
|
√ |
√ |
所有的外部成员 |
|
|
√ |
属性访问控制示例:
07 |
public $public = 'Public' ; |
08 |
protected $protected = 'Protected' ; |
09 |
private $private = 'Private' ; |