您当前的位置是:首页 > 新闻详情
使用PHP 7中的增强功能提高性能

程序设计的一个趋势是开发者们喜欢使用匿名函数。匿名函数处理中的一个经典问题是使任何对象都能够与$this变量绑定,而且匿名函数仍旧能够运行。PHP 5使用bindTo()方法解决该问题。PHP 7新增了call()方法,该方法在实现类似功能的基础上,极大地提高了性能。

具体处理过程

要使用call()方法,需要在较长的循环中执行匿名函数。本例会介绍一个匿名

函数,该函数会扫描一个日志文件,能够根据出现频率识别IP地址的排列。

1.我们先定义Application\Web\Access类。这个构造器会将文件名作为参数来接收。该日志文件会被打开并被设置为 SplFileObject 对象,然后将其赋予$this->log变量:

百度建站

2.定义一个生成器,以便逐行迭代这个日志文件:

百度建站

3.定义一个执行查找操作的方法,通过匹配条件提取IP地址:

百度建站

具体运行情况

先定义用于执行调用操作的程序:chap_02_performance_using_php7_enchancement_call.php,在该文件中添加第1章介绍过的类自动加载功能,以便获取Application\Web\Access类的实例:

百度建站

然后定义匿名函数,使用该函数处理日志文件中的一行内容。如果检测到了IP地址,那么该IP地址就会成为$frequency数组中的一个键,而且与该键对应的数组元素含有的当前值也会增加:百度建站

上一篇:异常处理机制   下一篇:安装PHP 7的注意事项
My title page contents

在线咨询

咨询热线:

注册后系统将分配专员联系您

在线咨询QQ:

在线客服QQ:1215917463  客服