首页 » PHP和MySQL Web开发(原书第4版) » PHP和MySQL Web开发(原书第4版)全文在线阅读

《PHP和MySQL Web开发(原书第4版)》6.5 使用private和public关键字控制访问

关灯直达底部

PHP提供了访问修饰符。它们可以控制属性和方法的可见性。通常,它们放置在属性和方法声明之前。PHP支持如下3种访问修饰符:

■默认选项是public,这意味着如果没有为一个属性或方法指定访问修饰符,它将是public。公有的属性或方法可以在类的内部和外部进行访问。

■private访问修饰符意味着被标记的属性或方法只能在类的内部进行访问。如果没有使用__get和__set方法,你可能会对所有属性都使用这个关键字。也可以选择使得部分方法成为私有的,例如,如果某些方法只是在类内部使用的工具性函数。私有的属性和方法将不会被继承(在本章的稍后内容将详细介绍它)。

■protected访问修饰符意味着被标记的属性或方法只能在类内部进行访问。它也存在于任何子类;同样,在本章的稍后讨论继承问题的时候,我们还将回到这个问题。在这里,可以将protected理解成位于private和public之间的关键字。

如下所示的代码说明了public访问修饰符的使用:

class classname

{

public$attribute;

public function__get($name)

{

return$this->$name;

}

public function__set($name,$value)

{

$this->$name=$value;

}

}

在这里,每一个类成员都具有一个访问修饰符,说明它们是公有的还是私有的。可以不添加public关键字,因为它是默认的访问修饰符,但是如果使用了其他修饰符,添加public修饰符将便于代码的理解和阅读。