這篇文章介紹的內容是關於PHP的public_protected_private許可權控制詳解 ,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
// 比較private、protected、public三者的區別
/*
private protected public
本類內 Y Y Y
子類內 N Y Y
外部 N N Y
*/
class Human { private $name = 'zhangsan'; protected $money = 3000; public $age = 28; public function say() { echo '我叫',$this->name,'<br >'; echo '我有',$this->money,'元錢<br >'; echo '我今年',$this->age,'歲<br >'; }}class Stu extends Human { private $friend = '小花'; public function talk() { echo '我叫',$this->name,'<br >'; echo '我有',$this->money,'元錢<br >'; echo '我今年',$this->age,'歲<br >'; }}$ming = new Stu();// 下行會報錯,因為類外不能調用private屬性// Fatal error: Cannot access private property Stu::$friendecho $ming->friend;// 下行會報錯,因為類外不能調用protected屬性// Fatal error: Cannot access protected property Stu::$moneyecho $ming->money;// 無法調用private屬性的name// Notice: Undefined property: Stu::$name$ming->talk();// 我叫(報錯)// 我有3000元錢// 我今年28歲$yuan = new Human();$yuan->say();// 我叫zhangsan// 我有3000元錢// 我今年28歲
/*
總結:
public 可以在類外調用,許可權最為寬鬆
protected 和 private不能在類外調用
protected 可以在 子類內訪問
public 和 protected 可以在本類內訪問
*/