小米技术社区
小米技术社区管理员 关于小米

27岁,山西运城人,职业电商经理人,前端开发工作者,从事过网站建设、网络推广、SEO、SEM、信息流推广、二类电商、网络运维、软件开发,等相关电商工作,经验较为丰富,小米技术社区致力于为广大从事Web前端开发的人员提供一些力所能及的引导和帮助 ...[更多]

E-mail:mzze@163.com

Q Q:32362389

W X:xiaomi168527

小米技术社区大牛王飞 关于王飞

27岁,山西运城人,职业电商经理人,网络工程师兼运维,从事过运营商网络建设,企业网络建设、优化。数据中心网络维护等通过,经验丰富,座右铭:当自己休息的时候,别忘了别人还在奔跑。 ...[更多]

E-mail:wf_live@126.com

Q Q:3940019

微博:王小贱ss

小米技术社区设计小艳 关于小艳

大于花一样的年龄,河南郑州是我家,2010年在北京接触团购网,2011年进入天猫淘宝一待就是四年,如今已经将设计走向国际化(ps:误打误撞开始进入阿里巴巴国际站的设计,嘿嘿)五年电商设计,丰富经验,从事过天猫淘宝阿里各项设计,店铺运营,产品拍摄;我将我的经历与您分享是我的快乐!座右铭:越努力越幸运! ...[更多]

E-mail:97157726@qq.com

Q Q:97157726

标签云
精品推荐
您的位置:首页 > 后端编程 > PHP > PHP基础

PHP的访问修饰符;public,private,protected修饰符

分类: PHP基础26个赞

PHP的访问修饰符是用来控制成员的访问权限的

一共有三种访问修饰符public private protected


                修饰符                描述
                public(公有的)                在类的内部和外部都能访问
                private(私有的)                只能在类的内部访问
                protected(受保护的)                在整个继承链上访问



一般来说,属性都用私有的,通过公有的方法对私有的属性进行赋值和取值。

作用:保证数据的合法性;外面(实例对象)不可修改

为什么属性要设置为私有的?

class Human {

    public $money = 1000;

}$lisi = new Human();
echo $lisi->money,
//改变一下
money$lisi->money = 500;
echo $lisi->money,

在现实中,别人把你的钱减少了,显然是不合理的,属性要私有

案例:

<?php
//访问修饰符
class Student {
	private $name;	//私有属性
	private $sex;	//私有属性
	//通过公有的方法对私有的属性进行赋值
	public function setInfo($name,$sex) {
		if($sex!='男' && $sex!='女'){
			echo '性别必须是男或女';
			exit;
		}
		$this->name=$name;   //$this表示当前对象
		$this->sex=$sex;
	}
	//显示信息
	public function getInfo() {
		echo '姓名:'.$this->name,'<br>';
		echo '性别:'.$this->sex,'<br>';
	}
}
//实例化
$stu=new Student;
$stu->setInfo('tom','男');
$stu->getInfo();
echo '<hr>';
$stu2=new Student;
$stu2->setInfo('berry','女');
$stu2->getInfo();

提示:$this表示调用当前方法的对象

PHP修饰符运行结果


实际应用中,经常会把类的属性设置为私有(private),那么需要对属性进行访问时,就会变得麻烦。虽然可以将对属性的访问写成一个方法来实现,但 PHP 提供了一些特殊方法来方便此类操作。

1. __set() 方法用于设置私有属性值。

2. __get() 方法用于获取私有属性值。

3. __isset() 方法用于检测私有属性值是否被设定。

4. __unset() 方法用于删除私有属性。



小米技术社区

本站内容均为小米原创,转载请注明出处:小米技术社区>> PHP的访问修饰符;public,private,protected修饰符