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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
<?php
class
Server
{
private
$serv
;
public
function
__construct()
{
$this
->serv =
new
swoole_server(
"0.0.0.0"
, 9501);
$this
->serv->set(
array
(
'worker_num'
=> 8,
'daemonize'
=> false,
'max_request'
=> 10000,
'dispatch_mode'
=> 2,
'debug_mode'
=> 1
));
$this
->serv->on(
'Start'
,
array
(
$this
,
'onStart'
));
$this
->serv->on(
'Connect'
,
array
(
$this
,
'onConnect'
));
$this
->serv->on(
'Receive'
,
array
(
$this
,
'onReceive'
));
$this
->serv->on(
'Close'
,
array
(
$this
,
'onClose'
));
$this
->serv->start();
}
public
function
onStart(
$serv
)
{
echo
"Start\n"
;
}
public
function
onConnect(
$serv
,
$fd
,
$from_id
)
{
$serv
->send(
$fd
,
"Hello {$fd}!"
);
}
public
function
onReceive(swoole_server
$serv
,
$fd
,
$from_id
,
$data
)
{
echo
"Get Message From Client {$fd}:{$data}\n"
;
}
public
function
onClose(
$serv
,
$fd
,
$from_id
)
{
echo
"Client {$fd} close connection\n"
;
}
}
// 启动服务器
$server
=
new
Server();
<?php
class
Client
{
private
$client
;
public
function
__construct()
{
$this
->client =
new
swoole_client(SWOOLE_SOCK_TCP);
}
public
function
connect()
{
if
(!
$this
->client->connect(
"127.0.0.1"
, 9501, 1)) {
echo
"Error: {$fp->errMsg}[{$fp->errCode}]\n"
;
}
$message
=
$this
->client->recv();
echo
"Get Message From Server:{$message}\n"
;
fwrite(STDOUT,
"请输入消息:"
);
$msg
= trim(
fgets
(STDIN));
$this
->client->send(
$msg
);
}
}
$client
=
new
Client();
$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,可以无限扩展框架的功能。