这篇文章介绍的内容是关于PHP的privata权限控制 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
// private权限控制
// ===代码部分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 >';/*
总结:private权限控制
只能在类{}内调用.
走出了{},调不动了.
*/
// 权限控制的bug
立即学习“PHP免费学习笔记(深入)”;
// ===代码部分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);/*
奇怪之处在于,
zhangsan的钱,应该有zhangsan来调用getMoney和setMoney才能影响.
本系统经过多次升级改造,系统内核经过多次优化组合,已经具备相对比较方便快捷的个性化定制的特性,用户部署完毕以后,按照自己的运营要求,可实现快速定制会费管理,支持在线缴费和退费功能财富中心,管理会员的诚信度数据单客户多用户登录管理全部信息支持审批和排名不同的会员级别有不同的信息发布权限企业站单独生成,企业自主决定更新企业站信息留言、询价、报价统一管理,分系统查看分类信息参数化管理,支持多样分类信息,
0
但是与我们讲private权限控制时的原则是符合的:
即:
调用的getMoney() public 有权
getMoney又在类{}内,有权读取私有属性money
调用的setMoney() public 有权
setMoney又在类{}内,有权修改zhangsan的私有属性money
*/
相关推荐:
以上就是PHP的privata权限控制 的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号