【php】new static的用法
2016-04-06 10:27
585 查看
在一个类中,常见的是new self()操作,代表返回自身类的实例。
当父类中存在方法,然后每个子类继承于父类,调用这个方法会返回自身的实例化对象,
那么当子类调用create时,返回的是A类的实例
现在有个需求就是,调用父类中返回实例化的方法时,返回当前子类的实例化,那么就可以用new static()来操作了
当父类中存在方法,然后每个子类继承于父类,调用这个方法会返回自身的实例化对象,
<?php class A { function create() { return new self(); } } class B extends A { } B->create(); //返回A的实例化
那么当子类调用create时,返回的是A类的实例
现在有个需求就是,调用父类中返回实例化的方法时,返回当前子类的实例化,那么就可以用new static()来操作了
<?php class A { function create() { return new static(); } } class B extends A { } B->create() //返回B类的实例化对象
相关文章推荐
- ThinkPHP 3 的CURD介绍
- ThinkPHP 3 的CURD介绍
- ThinkPHP 3 的CURD介绍
- 关于curl 上传图片的问题
- Win7设置局域网FTP服务器步骤
- PHP版本的区别与用法详解
- Vsftp服务器配置文件详解
- PHP请求远程地址设置超时时间
- PHP swoole扩展安装和使用
- PHP curl函数和相关运用
- PHP FTP函数
- ThinkPHP惯例配置讲解
- Thinkphp kindeditor 内容转义
- php 算法之切割数组,不用array_chunk(),算法之二,取数组的差值,不用array_diff()
- php 5.6.19连接数据库
- 一个严格的PHP Session会话超时时间设置方法
- 有没在php代码中设置session的timeout代码?
- 使用Laravel Schema Designer设置laravel项目表结构
- Yii2表单提交时报错:Unable to verify your data submission
- 详解PHP SESSION 的TIMEOUT(过期)和总结