加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

如何在PHP中实现事件驱动的代码?

发布时间:2020-12-13 16:23:23 所属栏目:PHP教程 来源:网络整理
导读:是否可以在 PHP中实现事件驱动程序? 像javascript一样的东西. 例如,尝试打开套接字(open_socket)并执行其他命令(do_something_else),而不是等待套接字请求的成功响应. 获得成功响应后执行callback_execute. //--------------------------------------------
是否可以在 PHP中实现事件驱动程序?

像javascript一样的东西.

例如,尝试打开套接字(open_socket)并执行其他命令(do_something_else),而不是等待套接字请求的成功响应.
获得成功响应后执行callback_execute.

//--------------------------------------------------------------------
public function open_socket(){
$this->socketResource = fsockopen($this->nodeIp,$this->portNumber);
}

public function callback_execute(){
fputs($this->socketResource,$command);
}

public function do_something_else{ xxxxx }
//--------------------------------------------------------------------

Non_blocking_function($obj->open_socket(),$obj->callback_execute());
$obj->do_something_else();

解决方法

PHP中只有一个线程.因此,在PHP中无法在等待某些事件时执行某些有用的操作.

有些解决方法可用,但可能不太可靠 – 尤其是在您计划编写可移植代码时.我认为这些解决方法存在风险,因为该语言没有并发概念.因此,最好用另一种语言(Java,Scala,…)编写多线程代码,并使用PHP只显示准备好的结果(如果完全使用PHP来解决这些问题).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读