完美解决在 event 里面 ,onmessage 里面如何 嵌入 thinkphp,使用框架实现回调方法

1.安装[code]composer require tinymeng/worker-socket dev-master[/code]

2.业务逻辑

在项目 /application/index/controller 下创建文件Events.php

首先创建控制器类并继承 tinymeng\worker\Server,然后设置属性和添加回调方法

2.1 ThinkPhp框架示例如下:

/**

* Name: Events.php.

* Author: JiaMeng <666@majiameng.com>

* Description: websocket callback

*/

namespace app\index\controller;

use tinymeng\worker\Server;

use GatewayWorker\Lib\Gateway;

class Events extends Server{

/**

* @var string Socket connect address

*/

protected $socket = 'websocket://0.0.0.0:1314';

/**

* @var string The current class of namespace

*/

protected $eventHandler = 'app\index\controller\Events';

/**

* Description: 当客户端连接时时触发

* Author: JiaMeng <666@majiameng.com>

* @param $client_id

*/

public static function onConnect($client_id){

echo 'client_id : '.$client_id. ', connect ' .PHP_EOL;

}

/**

* Description: 当客户端发来消息时触发

* Author: JiaMeng <666@majiameng.com>

* @param int $client_id 连接id

* @param string $data 具体消息

*/

public static function onMessage($client_id, $data) {

echo 'client : '.$client_id. ',message data :'.$data .PHP_EOL;

}

/**

* Description: 当客户端断开连接时触发

* Author: JiaMeng <666@majiameng.com>

* @param int $client_id 连接id

*/

public static function onClose($client_id) {

echo 'client_id : '.$client_id .' close '.PHP_EOL;

}

}

3.配置thinkphp的启动文件然后来启动 workman 这样回调就会主动回调回写的控制中了,可以试一试哦

4.支持workerman所有的回调方法定义(回调方法必须是public static类型)

php larve,封装composer包,实现thinkphp、larverl、yii框架中使用(使用框架实现回调方法)...相关推荐

  1. thinkphp mysql 预处理_thinkPHP框架中执行原生SQL语句的方法

    本文实例讲述了thinkPHP框架中执行原生SQL语句的方法.分享给大家供大家参考,具体如下: 怎样在thinkphp里面执行原生的sql语句? $Model = new Model();//或者 $ ...

  2. php会计科目,ThinkPHP+EasyUI之ComboTree中的会计科目树形菜单实现方法

    假设数据库中会计科目数据表的字段为:id,code,name,islast.分别为自增主键,科目编码,科目名称,是否为末级("1"表示末级科目). 这里在Thinkphp的模型层中 ...

  3. 动手开发自己的第一个 composer 包

    原文:http://blog.jayxhj.com/2016/05/basic-composer-package-development/ composer 是 PHP 的依赖管理工具,本篇文章就来说 ...

  4. php开发自己的composer包

    php开发自己的composer包: 前提需要安装composer 网站:https://packagist.org/ 可能需要梯子访问 开发是最好先注册一下 第一步创建插件: 当想要初始化一个php ...

  5. Laravel composer包-webUpload制作过程

    参考文章:https://laravel-china.org/articles/1714 以下封装的包的demo在:https://github.com/Lidisam/webUpload-for-l ...

  6. php 的包管理,php composer包管理器

    Composer是 PHP 用来管理依赖(dependency)关系的工具.你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件. 下载地址: ...

  7. 学习开发自己的composer包,并使用GitHub实时更新到Packagist

    composer是什么 Composer 不是一个包管理器.是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你 ...

  8. Packagist发布个人的Composer包

    1.在git上创建项目 1.2 在本地初始化git仓,并且和远程仓库关联起来: 1.3 本地使用composer init命令初始化包,然后编写自己的文件: 1.4 git tag -a v1.0.1 ...

  9. 发布composer包到 Packagist,并设置自动同步(从github到Packagist)

    一.发布composer包 1.将我们写好的项目包发布到github上 这一步不赘述,应该都会. 但是需要注意的是,我们一定要为我们的项目包打上tag之后再提交,否则 我们composer requi ...

最新文章

  1. C#中判断空字符串的3种方法性能分析【月儿原创】
  2. u一点·料:阿里巴巴1688ued体验设计践行之路. 导读
  3. html传递json中文乱码,解决后台传数据到前台中文乱码问题,使用@ResponseBody返回json 中文乱码...
  4. springmvc 注解总结
  5. git 基础用法梳理
  6. C# action 返回值_C#知识点讲解之C#delegate、event、Action、EventHandler的使用和区别
  7. oracle rac心跳机制_详解RAC集群中cache fushion原理
  8. 军用设备环境试验方法湿热试验标准
  9. python 拼图验证码
  10. java语言的基本介绍及相关特性
  11. 【Flutter 问题系列第 7 篇】TextField 去掉下划线
  12. 解决无法看到eth0的简单情况
  13. 什么是cidaemon.exe进程
  14. 使用google的jib, 发布Docker镜像到阿里云
  15. 欧几里德游戏(归纳总结)
  16. RetinaNet模型在DDSM数据集的应用问题(3)
  17. 【uniapp】canvas画海报保存图片兼容H5和APP
  18. 浅谈编程(肺腑之言)
  19. oracle 查询数据库时区,[原创]数据库时区与操作系统不一致时的解决方法
  20. 熬夜整理小米Java面试题,已拿offer

热门文章

  1. centos7 install virt-sysprep
  2. PHP中文字符串截取类
  3. 23个小动作让你记忆力惊人
  4. Mysql for Linux安装配置之——二进制安装
  5. vs2013 中HTML页 无法在设计窗口中查看的解决
  6. 以服务器时间为基准显示到某一时间的倒计时
  7. 读【重构】(3)——感悟重构——Decompose Conditional(分解条件式)
  8. SSAS的MDX的基础函数(二)
  9. JMeter基础之组件的作用域与执行顺序
  10. 浅谈接口对前后端测试的意义