# SimplerWorker **Repository Path**: ythook/SimplerWorker ## Basic Information - **Project Name**: SimplerWorker - **Description**: 基于Thinkphp和workerman开发的及时通讯框架 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 18 - **Created**: 2018-05-16 - **Last Updated**: 2024-05-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SimplerWorker #### 项目介绍 基于Thinkphp和workerman、gateway开发的高并发、可分布式部署的高性能及时通讯框架 #### 软件环境 PHP版本 >= 7.0 nginx版本 >= 1.4.4 mysql版本 >= 5.6 centos版本建议 >= 7.0 Linux下,其它环境检测,请输入如下命令: curl -Ss http://www.workerman.net/check.php | php Linux环境下,请安装pcntl、posix、event扩展,Linux下安装扩展,安装文档后期我将会写在CSDN博客中,敬请期待。。。 #### 安装教程 1. wampserver安装或lnmp安装(略),git安装(略) 2. 进入你的站点根目录,执行 git clone https://gitee.com/SimplerWorker/SimplerWorker.git 3. 站点根目录下生成的SimplerWorker目录就是源代码目录 4. 配置域名(Windows下配置虚拟域名)指向 path/SimplerWorker/public/ 下,如: d://www/SimplerWorker/public/ #### 使用说明 前期我们将使用lnmp服务进行部署,后期将会更新基于PHP的webserver服务器 1. Linux平台 (1). 启动webSocket:控制台进入站点根目录,执行 php start_server.php start -d 以守护进程方式启动服务,然后等待连接 (2). 网页访问 http(s)://您的站点域名/server.php 进入聊天室 (其它路由访问方式可以在./config/route.php中修改) 2. Windows平台 (1). cmd进入站点根目录,使用如下命令启动服务: php start_register.php start_gateway.php start_businessworker.php (2). 网页访问 http(s)://您的站点域名/server.php 进入聊天室 (其它路由访问方式可以在./config/route.php中修改) #### 参与贡献 1. Xiaojun.Lan Fork 本项目,初始化服务端 #### 项目计划 1. 增加用户管理 2. 增加记录管理 #### 体验交流 在线体验: [点击进入聊天室](http://101.200.33.215/server.php) QQ群:162798892 ThinkPHP 5.0详细开发文档参考 [ThinkPHP5完全开发手册](http://www.kancloud.cn/manual/thinkphp5) ## 目录结构 初始的目录结构如下: ~~~ ├── application 应用目录 │   ├── admin 后台入口(待开发) │   │   └── controller │   │   └── Index.php │   ├── api api入口(保存一些常用函数使用方法的demo,待开发) │   │   ├── controller │   │   │   └── Index.php │   │   └── model │   │   └── User.php │   ├── extra │   │   └── queue.php │   ├── index 前台入口(保存一些常用函数使用方法的demo,待开发) │   │   ├── controller │   │   │   └── Index.php │   │   └── view │   │   ├── index │   │   │   ├── index.html │   │   │   └── myView.html │   │   └── public │   │   └── index.html │   └── server 即时通讯入口 │   ├── controller │   │   ├── Events.php 即时通讯业务类,业务在这里处理 │   │   ├── Index.php 即时通讯前端界面渲染 │   │   ├── Sbusinessworker.php Windows版本即时通讯的业务 │   │   ├── Server.php Linux版本即时通讯的业务、注册、gateway │   │   ├── Sgateway.php Windows版本的gateway │   │   ├── Sregister.php Windows版本的注册 │   │   └── Worker.php 测试代码,请勿理会 │   └── view │   └── index │   └── index.html 即时通讯网页 ├── build.php ├── composer.json ├── conf 配置文件 │   ├── api api配置文件,只对app\api\下的文件生效 │   │   └── config.php │   ├── config.php 前后台、api、即时通讯配置文件 │   ├── database.php 前后台、api、即时通讯数据库配置文件 │   ├── extra 前后台、api、即时通讯工具配置文件 │   │   └── emails.php 前后台、api、即时通讯路由配置文件 │   └── route.php ├── db 数据库备份(今后将保存在docs分支中) ├── extend ├── LICENSE.txt ├── public │   ├── api.php api入口文件 │   ├── favicon.ico │   ├── index.php 前台入口文件 │   ├── robots.txt │   ├── router.php ThinkPHP的小型webserver运行文件 │   ├── server.php 即时通讯入口文件 │   ├── static 前端资源文件 │   └── webSocket.html 测试文件,不用理会 ├── README.md ├── start_businessworker.php Windows版本即时通讯业务启动入口 ├── start_gateway.php Windows版本即时通讯gateway启动入口 ├── start_register.php Windows版本即时通讯注册入口 ├── start_server.php Linux版本即时通讯服务入口 ├── runtime 运行时文件,Linux下需要777权限(chmod -R 777 runtime) ├── think ├── thinkphp thinkPHP核心框架,不要改动 └── vendor 插件目录 ├── autoload.php 自动加载文件 ├── composer composer 安装的源代码,不要改动 ├── topthink 插件引用,可以增加自己的,不要改动原有的 └── workerman ├── _alidata_www_web_SimplerWorker_public_server.php.pid ├── gateway-worker gateway核心源码,不要改动 ├── gateway-worker-for-win gateway的Windows核心源码,不要改动 ├── mysql workerman的mysql插件核心源码,不要改动 ├── workerman workerman核心源码,不要改动 ├── workerman-for-win workerman的Windows核心源码,不要改动 └── workerman.log workerman日志 ~~~ > router.php用于php自带webserver支持,可用于快速测试 > 切换到public目录后,启动命令:php -S localhost:8888 router.php > 上面的目录结构和名称是可以改变的,这取决于你的入口文件和配置参数。 ## 命名规范 `ThinkPHP5`遵循PSR-2命名规范和PSR-4自动加载规范,并且注意如下规范: ### 目录和文件 * 目录不强制规范,驼峰和小写+下划线模式均支持; * 类库、函数文件统一以`.php`为后缀; * 类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致; * 类名和类文件名保持一致,统一采用驼峰法命名(首字母大写); ### 函数和类、属性命名 * 类的命名采用驼峰法,并且首字母大写,例如 `User`、`UserType`,默认不需要添加后缀,例如`UserController`应该直接命名为`User`; * 函数的命名使用小写字母和下划线(小写字母开头)的方式,例如 `get_client_ip`; * 方法的命名使用驼峰法,并且首字母小写,例如 `getUserName`; * 属性的命名使用驼峰法,并且首字母小写,例如 `tableName`、`instance`; * 以双下划线“__”打头的函数或方法作为魔法方法,例如 `__call` 和 `__autoload`; ### 常量和配置 * 常量以大写字母和下划线命名,例如 `APP_PATH`和 `THINK_PATH`; * 配置参数以小写字母和下划线命名,例如 `url_route_on` 和`url_convert`; ### 数据表和字段 * 数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如 `think_user` 表和 `user_name`字段,不建议使用驼峰和中文作为数据表字段命名。 ## 参与开发 请参阅 [ThinkPHP5 核心框架包](https://github.com/top-think/framework)。 ## 版权信息 ThinkPHP遵循Apache2开源协议发布,并提供免费使用。 本项目包含的第三方源码和二进制文件之版权信息另行标注。 版权所有Copyright © 2006-2018 by ThinkPHP (http://thinkphp.cn) All rights reserved。 ThinkPHP® 商标和著作权所有者为上海顶想信息科技有限公司。 更多细节参阅 [LICENSE.txt](LICENSE.txt)