Maison > Article > développement back-end > Explication détaillée des bugs dans le contrôle des autorisations PHP
Cet article partage principalement avec vous l'explication détaillée des bugs dans le contrôle des autorisations PHP, principalement sous forme de texte et de code. J'espère qu'il pourra aider tout le monde.
class Human { private $money = 1000; public function getMoney($people) { return $people->money; } public function setMoney($people) { $people->money -= 500; } }$zhangsan = new Human();$lisi = new Human();//echo $lisi->money; //报错// 让李四去打探张三的钱echo $lisi->getMoney($zhangsan),'<br >'; //1000// 让李四去改变张三的钱$lisi->setMoney($zhangsan); //减500echo $lisi->getMoney($zhangsan),'<br >'; //剩500
/* 按理来说,李四不应该有权直接引用 张三私有的 但是,在上面的代码中,李四却显然引用和改张三的钱. 这是因为: PHP在实现上,并不是以对象为单位来控制的权限. 而是以类为单位,来控制的权限. 所以我们强调的是类内,类外,而不是对象内,对象外. */ /* $lisi–>类–>Human类 $lisi->setMoney()函数,也在Human类中, 在同一个类内部,可以调用. 这也说明了,确实是以类为单位的. */
class Human { private $money = 1000; public function getMoney($people) { return $people->money; } public function setMoney($people) { $people->money -= 500; } }$zhangsan = new Human();$lisi = new Human();//echo $lisi->money; //报错// 让李四去打探张三的钱echo $lisi->getMoney($zhangsan),'<br >'; //1000// 让李四去改变张三的钱$lisi->setMoney($zhangsan); //减500echo $lisi->getMoney($zhangsan),'<br >'; //剩500
/*
Logiquement parlant, Li Si ne devrait pas avoir le droit de citer directement le privé de Zhang San
Cependant, dans le code ci-dessus, Cependant , Li Si a évidemment cité et changé l'argent de Zhang San
C'est parce que :
Dans l'implémentation de PHP, les autorisations ne sont pas contrôlées en unités d'objets
Mais en unités de classes, les autorisations sont contrôlées. .
Donc ce que nous insistons est à l'intérieur de la classe et à l'extérieur de la classe, pas à l'intérieur de l'objet et à l'extérieur de l'objet
*/
/*
$lisi–> class –>Classe humaine
La fonction $lisi->setMoney() est également dans la classe Human
Elle peut être appelée au sein de la même classe.
Cela montre également qu'elle l'est bien. basé sur la classe est l'unité
*/
Recommandations associées :
Tutoriel PHP de contrôle des autorisations privées orientées objet
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!