Heim  >  Artikel  >  Backend-Entwicklung  >  PHP privatea-Berechtigungskontrolle

PHP privatea-Berechtigungskontrolle

不言
不言Original
2018-04-26 10:55:471739Durchsuche

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,&#39;<br >&#39;;
//钱定义为私有属性,在类Human{}外面调用,调用失败
//echo $lisi->money;
//$lisi-money = 500;
echo $lisi->showMoney();
echo &#39;<br >&#39;;/*
showMoney是公共的,在此行可以调用.
showMoney中的 return $this->money;
这一句运行的环境是在 类{}的内部,因此有权限访问 money属性
*///$lisi->secret(); //报错$lisi->tellMe(); 
// 可以调用,因为在通过函数在类内调用的echo &#39;<hr >&#39;;

/*
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),&#39;<br >&#39;;
 //1000// 让李四去改变张三的钱$lisi->setMoney($zhangsan); 
 //减500echo $lisi->getMoney($zhangsan),&#39;<br >&#39;; 
 //剩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:

PHP this verbindlich

Das obige ist der detaillierte Inhalt vonPHP privatea-Berechtigungskontrolle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP diese BindungNächster Artikel:PHP diese Bindung