Thinkphp 中_initialize()函数与 __construct()函数的区别说明

_initialize()方法是在任何方法执行之前,都要执行的,当然也包括 __construct构造函数。 也就是说如果存在_initialize()函数,调用对象的任何方法都会导致_initialize()函数的自动调用,而__construct()构造函数仅仅在创建对象的时候调用一次,跟其它方法调用没有关系 阅读全文 Thinkphp 中_initialize()函数与 __construct()函数的区别说明

Thinkphp6+swoole 教程(十)Task异步任务 与协程使用

精华

swoole

在 Server 程序中如果需要执行很耗时的操作,比如一个聊天服务器发送广播,Web服务器中发送邮件。如果直接去执行这些函数就会阻塞当前进程,导致服务器响应变慢。使用 Task异步任务投递可以大大提升用户体验例如:用户注册场景,完成注册并发送激活邮件的功能,需要以下几步 阅读全文 Thinkphp6+swoole 教程(十)Task异步任务 与协程使用

Thinkphp6+swoole 教程(九)WebSocket 事件订阅

精华

swoole

通过前面的实例中,如果按照之前的事件监听方式,客户端的每个场景事件,服务端都需要创建每个对应的事件,如果事件太多, app/listener 目录下将会有很多的文件(其实也不算什么坏现象),事件订阅就是为了解决这一问题,把所有的事件都写在一个文件中。 阅读全文 Thinkphp6+swoole 教程(九)WebSocket 事件订阅

Thinkphp6+swoole 教程(八)WebSocket-Room 加入、离开房间和房间消息发送

精华

swoole

Think-Swoole 3.0 中 Websocket 新增了 Room 聊天室功能,它主要用于群发消息,但不同Room之间的消息又是相互隔离的。当我们进入一个聊天室,那么我们的进入、离开以及发送的消息只有这个聊天室的 fd 能接收到。 阅读全文 Thinkphp6+swoole 教程(八)WebSocket-Room 加入、离开房间和房间消息发送