×

php访问控制的介绍

分类:互联网热点 编辑:互联网观察 浏览量:259
2020-07-10 11:21:32

1. 属性的访问控制 php中,类的属性必须被定义为公有(public),受保护(protected),私有(private)三个中的一个。

PHP4中可以用var关键词定义属性,默认未公有。被定义为公有的类成员可以在任何地方被访问。被定义为受保护的类成员则可以被其自身以及其子类和父类访问。被定义为私有的类成员则只能被其定义所在的类访问。

 对var关键词感兴趣的可以看一下http://stackoverflow.com/ques... 2. 方法的访问控制 同样,类中的方法也可以被定义为公有(public),受保护(protected),私有(private)三个中的一个。但是如果是公有,方法前的关键词public可以不写。即不写关键次,默认为公有。

例如: 那么如果把类中的构造函数私有话了会发生什么?例如: 很显然,我们就不能直接用new Demo()来创建实例了,因为创建实例的时候会在外部调用__construct()方法。怎么办?我们或许可以在类里写一个静态方法来获取实例对象。这样就即是在本类中调用__construct()方法,也不用在外部实例化,简直完美!  

但是话又说回来,我们先把__construct私有化,又千方百计用静态方法获取到实例。这是折腾什么鬼? 其实在在设计模式中会经常使用这样的方法来控制对象的创建,比如单例模式只允许有一个全局唯一的对象。 如果我们需要在全局中只有一个唯一的对象,上面的代码还不够。因为只要有人调用了两次getInstance(),那么就生成了两个了。

所以我们再把上面的代码改一下 以上就是关于php访问控制的介绍的详细内容。


声明:免责声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,也不承认相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,请发

送邮件至:operations@xinnet.com进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。本站原创内容未经允许不得转载,或转载时

需注明出处:新网idc知识百科

免费咨询获取折扣

Loading