Heim > Artikel > Backend-Entwicklung > PHP privatea-Berechtigungskontrolle
Dieser Artikel stellt die private Berechtigungskontrolle von PHP vor, die einen gewissen Referenzwert hat. Jetzt kann ich sie mit allen Freunden teilen, die sie brauchen.
// private Berechtigungskontrolle
// ===Code Teil 1===
class Human { public $mood = ''; // 心情,公有 private $money = 1000; // 钱,私有 public function showMoney() { return $this->money; } private function secret() { echo '我小时候偷吃过一块肉'; } public function tellMe() { $this->secret(); } } $lisi = new Human(); $lisi->mood = 'happy'; echo $lisi->mood,'<br >'; //钱定义为私有属性,在类Human{}外面调用,调用失败 //echo $lisi->money; //$lisi-money = 500; echo $lisi->showMoney(); echo '<br >';/* showMoney是公共的,在此行可以调用. showMoney中的 return $this->money; 这一句运行的环境是在 类{}的内部,因此有权限访问 money属性 *///$lisi->secret(); //报错$lisi->tellMe(); // 可以调用,因为在通过函数在类内调用的echo '<hr >';
/*
Zusammenfassung: Private Berechtigungskontrolle
kann nur innerhalb der Klasse {} aufgerufen werden
ging raus {}. , es kann nicht angepasst werden.
*/
// Berechtigungskontrollfehler
// ===Code Teil 2===
class Human2 { private $money = 1000; public function getMoney($people) { return $people->money; } public function setMoney($people) { $people->money -= 500; } }$zhangsan = new Human2();$lisi = new Human2();//echo $lisi->money; //报错// 让李四去打探张三的钱echo $lisi->getMoney($zhangsan),'<br >'; //1000// 让李四去改变张三的钱$lisi->setMoney($zhangsan); //减500echo $lisi->getMoney($zhangsan),'<br >'; //剩500print_r($zhangsan);
/*
Das Seltsame ist, dass
Zhangsans Geld davon betroffen sein sollte, dass Zhangsan getMoney und setMoney aufruft.
Aber wenn wir über private Berechtigungskontrolle sprechen, ist das Prinzip konform:
Das heißt:
aufgerufen getMoney() public hat das Recht
getMoney ist in der Klasse {} und hat das Recht, das Privateigentumsgeld zu lesen
public hat das Recht aufzurufen setMoney() Das Recht
setMoney ist in der Klasse {} und hat das Recht, Zhangsans privates Attribut Geld zu ändern
*/
Verwandte Empfehlungen:
Das obige ist der detaillierte Inhalt vonPHP privatea-Berechtigungskontrolle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!