当前位置:首页 > PHP教程 > php应用 > 列表

初识PHP中的Swoole

发布:smiling 来源: PHP粉丝网  添加日期:2021-07-25 11:45:41 浏览: 评论:0 

Swoole是一种PHP高级Web开发框架,框架不是为了提升网站的性能,是为了提升网站的开发效率。最少的性能损耗,换取最大的开发效率。利用Swoole框架,开发一个复杂的Web功能,可以在很短的时间内完成。

官方定义:

Swoole:重新定义PHP

PHP的异步、并行、高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。 Swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端。

Swoole可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网、车联网、智能家居等领域。 使用PHP+Swoole作为网络通信框架,可以使企业IT研发团队的效率大大提升,更加专注于开发创新产品。

swoole 扩展安装及案例来源:http://wiki.swoole.com/wiki/page/6.html

简单案例:

  1. <?php 
  2. class Server 
  3. private $serv
  4. public function __construct() 
  5. $this->serv = new swoole_server("0.0.0.0", 9501); 
  6. $this->serv->set(array
  7. 'worker_num' => 8, 
  8. 'daemonize' => false, 
  9. 'max_request' => 10000, 
  10. 'dispatch_mode' => 2, 
  11. 'debug_mode' => 1 
  12. )); 
  13. $this->serv->on('Start'array($this'onStart')); 
  14. $this->serv->on('Connect'array($this'onConnect')); 
  15. $this->serv->on('Receive'array($this'onReceive')); 
  16. $this->serv->on('Close'array($this'onClose')); 
  17. $this->serv->start(); 
  18. public function onStart($serv
  19. echo "Start\n"
  20. public function onConnect($serv$fd$from_id
  21. $serv->send($fd"Hello {$fd}!"); 
  22. public function onReceive(swoole_server $serv$fd$from_id$data
  23. echo "Get Message From Client {$fd}:{$data}\n"
  24. public function onClose($serv$fd$from_id
  25. echo "Client {$fd} close connection\n"
  26. // 启动服务器 
  27. $server = new Server();  
  28. <?php 
  29. class Client 
  30. private $client
  31. public function __construct() 
  32. $this->client = new swoole_client(SWOOLE_SOCK_TCP); 
  33. public function connect() 
  34. if (!$this->client->connect("127.0.0.1", 9501, 1)) { 
  35. echo "Error: {$fp->errMsg}[{$fp->errCode}]\n"
  36. $message = $this->client->recv(); 
  37. echo "Get Message From Server:{$message}\n"
  38. fwrite(STDOUT, "请输入消息:"); 
  39. $msg = trim(fgets(STDIN)); 
  40. $this->client->send($msg); 
  41. $client = new Client(); 
  42. $client->connect(); 

分别打开两个终端输入:php server.php  php client.php 即可看到效果!

Swoole功能介绍

包含以下几个特色功能:

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,可以无限扩展框架的功能。

Tags: Swoole

分享到: