前面文章讲了纯PHP开发的框架: 纯PHP开发的高性能PHPsocket服务器框架
Swoole 是一种PHP高级Web开发框架,框架不是为了提升网站的性能,是为了提升网站的开发效率。最少的性能损耗,换取最大的开发效率。利用Swoole框架,开发一个复杂的Web功能,可以在很短的时间内完成。
简介
Swoole不是一个像Zend Framework、CakePHP、 Yii 、symfony、 ThinkPHP 等一样的框架,也不是一个像WordPress、Drupal、 Discuz 、UChome等开源产品看齐的项目。 Swoole的目标是向Java框架、Ruby On Rails、Python DjangoPylons等一流框架发起挑战。
运行环境:Linux Windows Mac FreeBSD Unix
PHP版本支持:PHP5.3+
支持的数据库:MS SQL Server、 MySQL 、IBM DB2、Oracle、Interbase 、SQLite、PostgreSQL、ODBC
支持的运行方式:Web、Cli命令行脚本、PHP-GTK GUI。
功能
包含以下几个特色功能:
1、 类似ORM的数据查询,提供SQL封装器,让MySQL的SQL与PHP的Array,会话,Cache无缝结合。
2、App MVC分层结构,有效的程序结构分层,提高程序的可维护性和扩展性,实现低耦合,基于接口开发。
3、集成大量,实用的功能,比如方便的数据库操作,模板操作,缓存操作,系统配置,表单处理,分页,数据调用,字典操作,上传处理,内容编辑,调试等。
4、模板-数据反射系统,可以直接在模板中调用数据,提供很多标签,可是无需修改程序,只修改模板,即可实现网站各类更新维护工作。
另外的几个功能
1、Swoole包含了大量类,提供众多的功能扩展,基本上Web开发能够用到的功能类,大部分都可以在Swoole框架中找到。
2、Swoole拥有插件系统,Fckeditor、Adodb、pscws中文分词、中文全文索引系统、最新的Key-Value数据库思想,TokyoTyrant,可以无限扩展框架的功能。
优势
-
纯C编写性能极强
-
简单易用开发效率高
-
事件驱动异步非阻塞
-
并发百万 TCP 连接
-
TCP/ UDP /UnixSock
-
服务器端/客户端
-
支持异步/同步/协程
-
支持多进程/ 多线程
-
CPU亲和性/守护进程
-
支持IPv4/IPv6网络
特性
PHP的异步、并行、高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。 Swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端。
除了异步IO的支持之外,Swoole为PHP多进程的模式设计了多个并发数据结构和IPC通信机制,可以大大简化多进程并发编程的工作。其中包括了并发原子计数器,并发HashTable,Channel,Lock, 进程间通信 IPC等丰富的功能特性。
Swoole2.0支持了类似Go语言的协程,可以使用完全同步的代码实现异步程序。PHP代码无需额外增加任何关键词,底层自动进行协程调度,实现异步。
Swoole可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用PHP+Swoole作为网络通信框架,可以使企业IT研发团队的效率大大提升,更加专注于开发创新产品。
案例
swoole目前已被多家移动互联网、物联网、网络游戏、手机游戏企业使用,替代了C++、Java等复杂编程语言来实现网络服务器程序。 使用PHP+Swoole,开发效率可以大大提升。
官方提供了基于swoole扩展开发的PHP网络框架, 支持Http,FastCGI,WebSocket,FTP,SMTP,RPC等网络协议
swoole在美国,英国,法国,印度等国家都有用户分布,在国内的 腾讯、 百度、阿里巴巴、YY语音等多家知名互联网公司均有使用。