public、protected、private
public(公有):可以在任何地方被访问
protected(受保护):可以被其自身以及其子类和父类访问,类的对象也不可以访问
private(私有):只能被其定义所在的类访问,类的对象也不可以访问
<?php /** * Define MyClass */ class MyClass { public $public = 'Public'; protected $protected = 'Protected'; private $private = 'Private'; function printHello() { echo $this->public; echo $this->protected; echo $this->private; } } $obj = new MyClass(); echo $obj->public; // Works echo $obj->protected; // Fatal Error echo $obj->private; // Fatal Error $obj->printHello(); // Shows Public, Protected and Private
如上面代码所示,我们用一个类的实例对象访问一个类的私有或者受保护的成员属性时,会抛出一个致命错误。
访问类中的私有属性,一般都会是写一个public的方法,再返回这个属性。
public function getPrivate() { return $this->private; }