php访问控制的介绍

简介: 属性的访问控制php中,类的属性必须被定义为公有(public),受保护(protected),私有(private)三个中的一个。PHP4中可以用var关键词定义属性,默认未公有。被定义为公有的类成员可以在任何地方被访问。
  1. 属性的访问控制

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

对var关键词感兴趣的可以看一下http://stackoverflow.com/ques...
__20191114162157

  1. 方法的访问控制

同样,类中的方法也可以被定义为公有(public),受保护(protected),私有(private)三个中的一个。但是如果是公有,方法前的关键词public可以不写。即不写关键次,默认为公有。

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

其实在在设计模式中会经常使用这样的方法来控制对象的创建,比如单例模式只允许有一个全局唯一的对象。

如果我们需要在全局中只有一个唯一的对象,上面的代码还不够。因为只要有人调用了两次getInstance(),那么就生成了两个了。所以我们再把上面的代码改一下
__20191114162458
以上就是关于php访问控制的介绍的详细内容,更多请关注php交流群:link

相关文章
|
存储 安全 PHP
安全开发-PHP应用&文件管理模块&显示上传&黑白名单类型过滤&访问控制&文件管理模块&包含&上传&遍历&写入&删除&下载&安全
安全开发-PHP应用&文件管理模块&显示上传&黑白名单类型过滤&访问控制&文件管理模块&包含&上传&遍历&写入&删除&下载&安全
218 1
|
PHP 数据安全/隐私保护 Python
php的访问控制,有点东西
public(公有),protected(受保护)或 private(私有) ,这是php面对对象经常也用写到的。 如果不写,那默认是public
119 0
|
安全 Apache PHP
Apache配置----访问控制,禁止解析php
Apache配置----访问控制,禁止解析php
284 0
|
5月前
|
关系型数据库 MySQL PHP
PHP和Mysql前后端交互效果实现
本文介绍了使用PHP连接MySQL数据库的基本函数及其实现案例。内容涵盖数据库连接、选择数据库、执行查询、获取结果等常用操作,并通过用户登录和修改密码的功能实例,展示了PHP与MySQL的交互过程及代码实现。
370 0
PHP和Mysql前后端交互效果实现
|
10月前
|
关系型数据库 MySQL Linux
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
489 17