今天就跟大家聊聊有关如何在PHP7中使用匿名类,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
匿名类跟匿名函数一样,创建一次性的简单对象
<?php /** *CreatedbyPhpStorm. *User:bee *Date:2016/4/24 *Time:00:17 */ echo'匿名函数'; $anonymous_func=function(){return'function';}; echo$anonymous_func(); echo'<br>'; echo'<hr>'; classcommon{ public$default=10; function__construct($key){ $this->getVal($key); } publicfunctiongetVal(int$i):int{ $this->default+=$i; return$this->default+0.1; } } echo'有名函数';echo'<br>'; $com=newcommon(1); echo$com->getVal(2.2).'--'; echo$com->getVal(2.2).'--'; echo(newcommon(1))->getVal(8.9); echo'<hr>';echo'匿名类'; //定义匿名类需继承 echo(newclass(1)extendscommon{})->getVal(90);echo'<br>'; echo(newclass(2)extendscommon{})->getVal(90);
运行效果图如下:
匿名类被嵌套进普通 Class 后,不能访问这个外部类(Outer class)的 private(私有)、protected(受保护)方法或者属性。 为了访问外部类(Outer class)protected 属性或方法,匿名类可以 extend(扩展)此外部类。 为了使用外部类(Outer class)的 private属性,必须通过构造器传进来:
<?php classOuter { private$prop=1; protected$prop2=2; protectedfunctionfunc1() { return3; } publicfunctionfunc2() { returnnewclass($this->prop)extendsOuter{ private$prop3; publicfunction__construct($prop) { $this->prop3=$prop; } publicfunctionfunc3() { return$this->prop2+$this->prop3+$this->func1(); } }; } } echo(newOuter)->func2()->func3();//6
匿名函数可以实现闭包,那么相应的匿名类也可以实现闭包
<?php /** *CreatedbyPhpStorm. *User:bee *Date:2016/4/24 *Time:1:51 */ $arr=array(); for($i=0;$i<3;$i++){ $arr[]=newclass($i){ public$index=0; function__construct($i) { $this->index=$i; echo'create</br>'; } publicfunctiongetVal(){ echo$this->index; } }; } $arr[2]->getVal(); echo'<br>'; var_dump($arr[1]);
看完上述内容,你们对如何在PHP7中使用匿名类有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注恰卡编程网行业资讯频道,感谢大家的支持。
PHP7函数类型限定对性能有没有影响
PHP7函数类型限定对性能有没有影响这篇文章主要介绍PHP7函数类...
php7+中怎么使用openssl替代mcrypt进行AES加密解密
这篇文章主要介绍php7+中怎么使用openssl替代mcrypt进行AES加密解密,文中介绍的非常详细,具有一定的参考价值,感兴...
PHP7中生命周期指的是什么
declare如何在PHP7中使用
PHP7中如何使用Closure :: call
这篇“PHP7中如何使用Closure::call”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定...
PHP7打开Opcache的方法
php7中文乱码怎么办
小编给大家分享一下php7中文乱码怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有...
php7连接mysql数据库的方法
这篇文章主要为大家展示了php7连接mysql数据库的方法,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起...
怎么安装php7并与php5共存
这篇“怎么安装php7并与php5共存”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“怎么安装php7并与php5共...
Windows Server 2016服务器配置指南之怎么搭建PHP7运行环境
用户名
密码
记住登录状态 忘记密码?
邮箱
确认密码
我已阅读并同意 用户协议