Skip to content
This repository has been archived by the owner on Sep 1, 2020. It is now read-only.

Commit

Permalink
[2018/10/13 17:21] Auto update by script
Browse files Browse the repository at this point in the history
  • Loading branch information
twose committed Oct 13, 2018
1 parent 9852a48 commit f9b2ca6
Show file tree
Hide file tree
Showing 293 changed files with 1,810 additions and 577 deletions.
400 changes: 214 additions & 186 deletions README.md

Large diffs are not rendered by default.

38 changes: 20 additions & 18 deletions doc/1 - 入门指引.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,33 @@
# 入门指引

Swoole虽然是标准的PHP扩展,实际上与普通的扩展不同。普通的扩展只是提供一个库函数。而swoole扩展在运行后会接管PHP的控制权,进入事件循环。当IO事件发生后,swoole会自动回调指定的PHP函数
`Swoole`虽然是标准的PHP扩展,实际上与普通的扩展不同。普通的扩展只是提供一个库函数。而swoole扩展在运行后会接管PHP的控制权,进入事件循环。当IO事件发生后,swoole会自动回调指定的`PHP`函数

* 新手入门教程:[https://github.com/LinkedDestiny/swoole-doc](https://github.com/LinkedDestiny/swoole-doc)
* 新手入门教程:[https://github.com/LinkedDestiny/swoole-doc](https://github.com/LinkedDestiny/swoole-doc) (已停更)
* Easy Swoole (Swoole 简明指南):[https://linkeddestiny.gitbooks.io/easy-swoole/content/](https://linkeddestiny.gitbooks.io/easy-swoole/content/)

Swoole要求使用者必须具备一定的Linux/Unix环境编程基础[《学习Swoole需要掌握哪些基础知识》](https://wiki.swoole.com/wiki/page/487.html) 本文列出了基础知识清单。
`Swoole`要求使用者必须具备一定的`Linux/Unix`环境编程基础[《学习Swoole需要掌握哪些基础知识》](https://wiki.swoole.com/wiki/page/487.html) 本文列出了基础知识清单。

swoole_server
Server
----
强大的TCP/UDP Server框架,多线程,EventLoop,事件驱动,异步,Worker进程组,Task异步任务,毫秒定时器,SSL/TLS隧道加密
强大的`TCP/UDP Server`框架,支持多线程,`EventLoop`,事件驱动,异步,`Worker`进程组,`Task`异步任务,毫秒定时器,`SSL/TLS`隧道加密

* `swoole_http_server``swoole_server`的子类,内置了Http的支持
* `swoole_websocket_server``swoole_http_server`的子类,内置了WebSocket的支持
* `swoole_redis_server``swoole_server`的子类,内置了Redis服务器端协议的支持
* `swoole_http_server``swoole_server`的子类,内置了`Http`的支持
* `swoole_websocket_server``swoole_http_server`的子类,内置了`WebSocket`的支持
* `swoole_redis_server``swoole_server`的子类,内置了`Redis`服务器端协议的支持

> 子类可以调用父类的所有方法和属性
swoole_client
Client
-----
`TCP/UDP/UnixSocket`客户端,支持`IPv4/IPv6`,支持`SSL/TLS`隧道加密,支持`SSL`双向证书,支持同步并发调用,支持异步事件驱动编程。

swoole_event
Event
----
EventLoop API,让用户可以直接操作底层的事件循环,将socket,stream,管道等Linux文件加入到事件循环中
`EventLoop API`,让用户可以直接操作底层的事件循环,`socket``stream`,管道等`Linux`文件加入到事件循环中

> eventloop接口仅可用于socket类型的文件描述符,不能用于磁盘文件读写
>`eventloop`接口仅可用于`socket`类型的文件描述符,不能用于磁盘文件读写
swoole_async
Async
----
异步IO接口,提供了 异步文件系统IO,定时器,异步DNS查询,异步MySQL等API,异步Http客户端,异步Redis客户端。

Expand All @@ -42,17 +43,18 @@ Swoole在2.0开始内置协程(Coroutine)的能力,提供了具备协程能力
开发者可以无感知的用同步的代码编写方式达到异步IO的效果和性能,避免了传统异步回调所带来的离散的代码逻辑和陷入多层回调中导致代码无法维护。

同时由于swoole是在底层封装了协程,所以对比传统的php层协程框架,开发者不需要使用yield关键词来标识一个协程IO操作,所以不再需要对yield的语义进行深入理解以及对每一级的调用都修改为yield,这极大的提高了开发效率。
swoole_process

Process
----
进程管理模块,可以方便的创建子进程,进程间通信,进程管理。

swoole_buffer
Buffer
----
强大的内存区管理工具,像C一样进行指针计算,又无需关心内存的申请和释放,而且不用担心内存越界,底层全部做好了。
强大的内存区管理工具,`C`一样进行指针计算,又无需关心内存的申请和释放,而且不用担心内存越界,底层全部做好了。

swoole_table
Table
-----
基于共享内存和自旋锁实现的超高性能内存表。彻底解决线程,进程间数据共享,加锁同步等问题。

> swoole_table的性能可以达到单线程每秒读写100W次
> `swoole_table`的性能可以达到单线程每秒读写`200W`
2 changes: 1 addition & 1 deletion doc/1.1 - 环境依赖.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ PHP版本依赖
----------
* `Swoole-1.x`需要 `PHP-5.3.10` 或更高版本
* `Swoole-2.x`需要 `PHP-7.0.0` 或更高版本
* `Swoole-4.x`需要 `PHP-7.0.0` 或更高版本
* `Swoole-4.x`需要 `PHP-7.1.0` 或更高版本
* 不依赖 `PHP``stream``sockets``pcntl``posix``sysvmsg` 等扩展。`PHP` 只需安装最基本的扩展即可


Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@
----
* [Swoft](https://www.swoft.org) 首个基于 Swoole 原生协程的新时代 PHP 高性能协程全栈框架,内置协程网络服务器及常用的协程客户端,常驻内存,不依赖传统的 PHP-FPM,全异步非阻塞 IO 实现,以类似于同步客户端的写法实现异步客户端的使用,没有复杂的异步回调,没有繁琐的 yield, 有类似 Go 语言的协程、灵活的注解、强大的全局依赖注入容器、完善的服务治理、灵活强大的 AOP、标准的 PSR 规范实现等等,可以用于构建高性能的Web系统、API、中间件、基础服务等等。
* [EasySwoole](http://www.easyswoole.com/) EasySwoole 是一款基于Swoole Server 开发的常驻内存型PHP框架,专为API而生,摆脱传统PHP运行模式在进程唤起和文件加载上带来的性能损失。EasySwoole 高度封装了Swoole Server 而依旧维持Swoole Server 原有特性,支持同时混合监听HTTP、自定义TCP、UDP协议,让开发者以最低的学习成本和精力编写出多进程,可异步,高可用的应用服务。
* [MixPHP](http://www.mixphp.cn/) 是一款基于 Swoole 的FPM、常驻内存、协程三模 PHP 高性能框架,MixPHP 秉承 "普及 PHP 常驻内存型解决方案,促进 PHP 往更后端发展" 的理念而创造,采用 Swoole 扩展作为底层引擎,围绕常驻内存的方式而设计,提供了 HTTP / WebSocket / Console 开发所需的众多开箱即用的组件,在其他 Swoole 框架都定位于大中型团队、庞大的 PHP 应用集群的时候,MixPHP 决定推动这项技术的普及,我们定位于众多的中小型企业、创业型公司,我们将 Swoole 的复杂度封装起来,用简单的编码方式呈现给用户,让更多的中级程序员也可打造高并发系统,努力让 Swoole 不再只是高级程序员的专利。
* [SwooleDistributed](http://sd.youwoxing.net) SwooleDistributed 老牌Swoole框架拥有最完善的开发工具以及最强大的功能,首创SDHelper开发者工具包和开发者调试命令集,可以进行单元测试,捕获客户端流量分析,可视化的进行远程断点联调,还具备代码覆盖率检测的功能(swoole与xdebug扩展不兼容,SDHelper无需xdebug扩展),并且内置组件极其丰富(类MQTT强悍的订阅发布/Actor模型/内存高速缓存/事件派发/进程管理/定时任务/AMQP任务调度/后台监控/集群/微服务/RPC/异步连接池/自定义命令等等),开发者可以直接使用加快开发进度。几乎所有的功能都支持集群化,单机切换到集群无需对代码做任何的修改。如果业务开发比较复杂比如(游戏开发)那么SD框架将是你的不二之选。
![](https://wiki.swoole.com/static/uploads/wiki/201807/04/759890562278.png)
![](https://wiki.swoole.com/static/uploads/wiki/201807/04/760320104883.png)
![](https://wiki.swoole.com/static/uploads/wiki/201807/04/760660259170.png)
* [MixPHP](http://www.mixphp.cn/) 是一个基于 Swoole 的常驻内存型 PHP 高性能框架,围绕常驻内存的方式而设计,提供了 Web / Console 开发所需的众多开箱即用的组件,MixPHP 追求简单、实用主义,开发文档完善,试图让更多开发者以更低的学习成本享受到 Swoole 带来的高性能与全新的编程体验。
* [Swoolefy](https://github.com/bingcool/swoolefy) 基于swoole扩展实现的轻量级高性能的API和Web应用服务框架,高度封装了http,websocket,udp服务器,以及基于tcp实现可扩展,自定义协议的rpc服务器,同时支持composer包方式快速部署项目。基于易用,swoolefy抽象Event事件处理类,实现与底层的回调的解耦,专注逻辑业务,支持同步|异步调用,内置view、Log、session、mysql、redis、memcached、mongodb,mailer等常用组件。
* [Lawoole](https://github.com/lawoole/lawoole) 基于 Laravel 和 Swoole 的高性能 PHP 框架。借助 Swoole 的高性能特点,弥补了 Laravel 的性能缺陷。在大幅提升程序运行速度的情况下,能够使用到绝大部分 Laravel 中优秀的特性。在 Lawoole 中,你可以拥有与 Laravel 一致的开发体验,编写那些富有创造力的代码。
* [CabalPHP](https://www.cabalphp.com/) 基于Swoole的**轻量、高效、全异步**开源框架,**自动生成API接口文档**,IDE下有完整的代码提示,相较于其他框架我们有完善的协程数据库和缓存引擎哦!
* [CabalPHP](https://www.cabalphp.com/) 基于Swoole的轻量、高效、全异步开源框架,自动生成API接口文档,IDE下有完整的代码提示,相较于其他框架我们有完善的协程数据库和缓存引擎哦!


服务器
Expand Down Expand Up @@ -46,7 +46,7 @@ HTTP 应用框架

* [LaravelS](https://github.com/hhxsv5/laravel-s) 基于Swoole加速Laravel/Lumen,常驻内存,内置HTTP/WebSocket Server,支持TCP/UDP Server、协程的查询构造器与ORM(MySQL)、自定义进程、异步的事件监听、异步任务队列、毫秒级定时任务、平滑Reload,与Nginx配合搭建高可用分布式服务器群,开箱即用。

* [Yii2-Swoole](https://github.com/tsingsun/yii2-swoole) 支持基于Yii2框架运行于Swoole中,同时可以很简单的支持Swool 1.0与2.0协程,自带mysql,redis连接池,可以使用Yii2的全栈框架来开发HTTP,WebSocket等网络服务。
* [Yii2-Swoole](https://github.com/tsingsun/yii2-swoole) 支持基于Yii2框架运行于Swoole中,同时可以很简单的支持Swool 4.0协程与非协程,自带mysql,redis连接池,可以使用Yii2的全栈框架来开发HTTP,WebSocket等网络服务。
```
如果您有基于swoole开发新的开源项目,可以联系我们。将你的开源项目加入swoole官方推荐列表中。
```
Loading

0 comments on commit f9b2ca6

Please sign in to comment.