1 Star 0 Fork 19

JeremyLee / SimplerWorker

forked from Arjun / SimplerWorker 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0

SimplerWorker

项目介绍

基于Thinkphp和workerman、gateway开发的高并发、可分布式部署的高性能及时通讯框架

软件环境

PHP版本 >= 7.0
nginx版本 >= 1.4.4
mysql版本 >= 5.6
centos版本建议 >= 7.0

环境搭建和安装教程

SimplerWorker部署(一)--环境搭建,地址: https://blog.csdn.net/xkjscm/article/details/80397329
SimplerWorker部署(二)--分布式部署,地址: https://blog.csdn.net/xkjscm/article/details/80425150
SimplerWorker部署(三)--反向代理,地址 https://blog.csdn.net/xkjscm/article/details/80686197

请注意: 
1.当开发 application/worker时,启动 worker/worker_windows.bat,
    linux下时,执行 php worker/worker_server.php start -d

其它文档上传到当前项目的附件里面,请到附件里面下载。

说明

相对第一版本,第二版本删除了如下文件:

  1. 删除了如下文件 ./start/ ./public/server.php ./application/server/ ./vendor/jackchow/
  2. RBAC 五个数据表分别在 ./application/worker/model/Access.php ./application/worker/model/Admin.php ./application/worker/model/AdminRole.php ./application/worker/model/Role.php ./application/worker/model/RoleAccess.php

参与贡献

  1. Xiaojun.Lan Fork 本项目,初始化服务端

项目计划

  1. 数据库集群
  2. Redis集群
  3. 选择流媒体服务器

升级记录

SimplerWorker_v1 升级到 SimplerWorker_v2:  
升级日志:  
    1.thinkphp核心框架从5.0.19更新到5.0.20  
    2.workman核心版本从3.5.6更新到3.5.8  
    3.gateway版本从3.0.8更新到3.0.9  
    4.去除workerman/mysql,请注意,请不要在event.php中使用workerman/mysql   
                             2018年05月28日 

点击下载SimplerWorker_v1

体验交流

QQ群:162798892    

ThinkPHP 5.0详细开发文档参考 ThinkPHP5完全开发手册

目录结构


SimplerWorker/
├── 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
│   └── worker                      使用mvc+gatwayworker的即时通讯类入口
│       ├── controller              
│       │   ├── Events.php          业务类,这里只分配client_id,原则上不做其它业务处理
│       │   ├── Index.php           业务类,代替Events.php类
│       │   ├── Sbusinessworker.php Windows版本即时通讯的业务
│       │   ├── Server.php          Linux版本即时通讯的业务、注册、gateway
│       │   ├── Sgateway.php        Windows版本的gateway
│       │   └── Sregister.php       Windows版本的注册          
│       └── view
│           └── index
│               └── index.html      webSocket测试界面
├── build.php
├── composer.json
├── config                          配置文件 
│   ├── api                         api配置文件,只对app\api\下的文件生效
│   │   └── config.php
│   ├── config.php                  前后台、api、即时通讯配置文件
│   ├── database.php                前后台、api、即时通讯数据库配置文件
│   ├── extra                       前后台、api、即时通讯扩展配置文件
│   │   └── emails.php              
│   ├── route.php                   前后台、api、即时通讯路由配置文件
│   └── worker                      即时通讯配置文件夹
│       └── config.php              即时通讯配置文件
├── db                              数据库备份(今后将保存在docs分支中)
├── extend
├── LICENSE.txt
├── public
│   ├── api.php                     api入口文件
│   ├── favicon.ico
│   ├── index.php                   前台入口文件
│   ├── robots.txt
│   ├── router.php                  ThinkPHP的小型webserver运行文件
│   ├── worker.php                  mvc+gatewayworker即时通讯入口文件
│   └── static                      前端资源文件
├── worker                          对应 app\worker,入口文件是public\worker.php
│   ├── worker_businessworker.php   Windows版本即时通讯业务启动入口
│   ├── worker_gateway.php          Windows版本即时通讯gateway启动入口
│   ├── worker_register.php         Windows版本即时通讯注册入口
│   ├── worker_windows.bat          Windows版本服务器启动文件
│   └── worker_server.php           Linux版本即时通讯服务入口
├── README.md
├── 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核心源码,不要改动
        ├── workerman               workerman核心源码,不要改动
        ├── workerman-for-win       workerman的Windows核心源码,不要改动
        └── workerman.log           workerman日志

命名规范

SimplerWorker遵循PSR-2命名规范和PSR-4自动加载规范,并且注意如下规范(同Thinkphp5版本规范):

目录和文件

  • 目录不强制规范,驼峰和小写+下划线模式均支持;
  • 类库、函数文件统一以.php为后缀;
  • 类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致;
  • 类名和类文件名保持一致,统一采用驼峰法命名(首字母大写);

函数和类、属性命名

  • 类的命名采用驼峰法,并且首字母大写,例如 UserUserType,默认不需要添加后缀,例如UserController应该直接命名为User
  • 函数的命名使用小写字母和下划线(小写字母开头)的方式,例如 get_client_ip
  • 方法的命名使用驼峰法,并且首字母小写,例如 getUserName
  • 属性的命名使用驼峰法,并且首字母小写,例如 tableNameinstance
  • 以双下划线“__”打头的函数或方法作为魔法方法,例如 __call__autoload

常量和配置

  • 常量以大写字母和下划线命名,例如 APP_PATHTHINK_PATH
  • 配置参数以小写字母和下划线命名,例如 url_route_onurl_convert

数据表和字段

  • 数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如 think_user 表和 user_name字段,不建议使用驼峰和中文作为数据表字段命名。

版权信息

SimplerWorker遵循Apache2开源协议发布,并提供免费使用。

本项目包含的第三方源码和二进制文件之版权信息另行标注。

ThinkPHP遵循Apache2开源协议发布,并提供免费使用。 版权所有Copyright © 2006-2017 by ThinkPHP (http://thinkphp.cn) All rights reserved。 ThinkPHP® 商标和著作权所有者为上海顶想信息科技有限公司。 Apache Licence是著名的非盈利开源组织Apache采用的协议。 该协议和BSD类似,鼓励代码共享和尊重原作者的著作权, 允许代码修改,再作为开源或商业软件发布。需要满足 的条件: 1. 需要给代码的用户一份Apache Licence ; 2. 如果你修改了代码,需要在被修改的文件中说明; 3. 在延伸的代码中(修改和有源代码衍生的代码中)需要 带有原来代码中的协议,商标,专利声明和其他原来作者规 定需要包含的说明; 4. 如果再发布的产品中包含一个Notice文件,则在Notice文 件中需要带有本协议内容。你可以在Notice中增加自己的 许可,但不可以表现为对Apache Licence构成更改。 具体的协议参考:http://www.apache.org/licenses/LICENSE-2.0 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

简介

基于Thinkphp和workerman开发的及时通讯框架 展开 收起
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/zuirenxx/SimplerWorker.git
git@gitee.com:zuirenxx/SimplerWorker.git
zuirenxx
SimplerWorker
SimplerWorker
master

搜索帮助