php larve,封装composer包,实现thinkphp、larverl、yii框架中使用(使用框架实现回调方法)...
完美解决在 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框架中使用(使用框架实现回调方法)...相关推荐
- thinkphp mysql 预处理_thinkPHP框架中执行原生SQL语句的方法
本文实例讲述了thinkPHP框架中执行原生SQL语句的方法.分享给大家供大家参考,具体如下: 怎样在thinkphp里面执行原生的sql语句? $Model = new Model();//或者 $ ...
- php会计科目,ThinkPHP+EasyUI之ComboTree中的会计科目树形菜单实现方法
假设数据库中会计科目数据表的字段为:id,code,name,islast.分别为自增主键,科目编码,科目名称,是否为末级("1"表示末级科目). 这里在Thinkphp的模型层中 ...
- 动手开发自己的第一个 composer 包
原文:http://blog.jayxhj.com/2016/05/basic-composer-package-development/ composer 是 PHP 的依赖管理工具,本篇文章就来说 ...
- php开发自己的composer包
php开发自己的composer包: 前提需要安装composer 网站:https://packagist.org/ 可能需要梯子访问 开发是最好先注册一下 第一步创建插件: 当想要初始化一个php ...
- Laravel composer包-webUpload制作过程
参考文章:https://laravel-china.org/articles/1714 以下封装的包的demo在:https://github.com/Lidisam/webUpload-for-l ...
- php 的包管理,php composer包管理器
Composer是 PHP 用来管理依赖(dependency)关系的工具.你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件. 下载地址: ...
- 学习开发自己的composer包,并使用GitHub实时更新到Packagist
composer是什么 Composer 不是一个包管理器.是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你 ...
- Packagist发布个人的Composer包
1.在git上创建项目 1.2 在本地初始化git仓,并且和远程仓库关联起来: 1.3 本地使用composer init命令初始化包,然后编写自己的文件: 1.4 git tag -a v1.0.1 ...
- 发布composer包到 Packagist,并设置自动同步(从github到Packagist)
一.发布composer包 1.将我们写好的项目包发布到github上 这一步不赘述,应该都会. 但是需要注意的是,我们一定要为我们的项目包打上tag之后再提交,否则 我们composer requi ...
最新文章
- C#中判断空字符串的3种方法性能分析【月儿原创】
- u一点·料:阿里巴巴1688ued体验设计践行之路. 导读
- html传递json中文乱码,解决后台传数据到前台中文乱码问题,使用@ResponseBody返回json 中文乱码...
- springmvc 注解总结
- git 基础用法梳理
- C# action 返回值_C#知识点讲解之C#delegate、event、Action、EventHandler的使用和区别
- oracle rac心跳机制_详解RAC集群中cache fushion原理
- 军用设备环境试验方法湿热试验标准
- python 拼图验证码
- java语言的基本介绍及相关特性
- 【Flutter 问题系列第 7 篇】TextField 去掉下划线
- 解决无法看到eth0的简单情况
- 什么是cidaemon.exe进程
- 使用google的jib, 发布Docker镜像到阿里云
- 欧几里德游戏(归纳总结)
- RetinaNet模型在DDSM数据集的应用问题(3)
- 【uniapp】canvas画海报保存图片兼容H5和APP
- 浅谈编程(肺腑之言)
- oracle 查询数据库时区,[原创]数据库时区与操作系统不一致时的解决方法
- 熬夜整理小米Java面试题,已拿offer