Skip to content

Commit 3cf89b3

Browse files
committed
Merge branch 'master' of github.com:pinguo/php-msf
2 parents 6374bc7 + 60e28f0 commit 3cf89b3

2 files changed

Lines changed: 27 additions & 16 deletions

File tree

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44

55
# Micro Service Framework For PHP
66

7-
PHP微服务框架即“Micro Service Framework For PHP”,是Camera360社区服务器端团队基于[Swoole](http://www.swoole.com)自主研发现代化的PHP协程服务框架,简称msf或者php-msf,是[Swoole](http://www.swoole.com)的工程级企业应用框架,经受了Camera360自拍相机亿级用户高并发大流量的考验。php-msf由Camera360服务器团队主导研发,会持续更新与维护,也希望有更多优秀的[Swoole](http://www.swoole.com)应用实践开发者加入。php-msf核心设计思想是采用协程、异步、并行的创新技术手段提高系统的单机吞吐能力,降低整体服务器成本。
7+
PHP微服务框架即“Micro Service Framework For PHP”,[Camera360](https://www.camera360.com)社区服务器端团队基于[Swoole](http://www.swoole.com)自主研发现代化的PHP协程服务框架,简称msf或者php-msf,是[Swoole](http://www.swoole.com)的工程级企业应用框架,经受了Camera360亿级用户高并发大流量的考验。php-msf由[Camera360](https://www.camera360.com)服务器团队主导研发,会持续更新与维护,也希望有更多优秀的[Swoole](http://www.swoole.com)应用实践开发者加入。php-msf核心设计思想是采用协程、异步、并行的创新技术手段提高系统的单机吞吐能力,降低整体服务器成本。
88

99
## 主要特性
1010

1111
* 精简版的MVC框架
1212
* IO密集性业务的单机处理能力提升5-10倍
13-
* 代码长驻内存
13+
* 代码常驻内存
1414
* 支持对象池
1515
* 支持Redis连接池、MySQL连接池
1616
* 支持Redis分布式、master-slave部署结构的集群
@@ -180,7 +180,7 @@ Docker Registry(阿里云):
180180

181181
### 稳定
182182

183-
php-msf经受了Camera360社区服务大流量、高并发的洗礼,稳定性得到充分验证。稳定性是我们花了大量时间、精力去解决的最重要问题,是三大原则的最重要原则。
183+
php-msf经受了[Camera360](https://www.camera360.com)社区服务大流量、高并发的洗礼,稳定性得到充分验证。稳定性是我们花了大量时间、精力去解决的最重要问题,是三大原则的最重要原则。
184184

185185
### 高性能
186186

@@ -200,7 +200,7 @@ IO密集性业务的单机处理能力提升5-10倍,这是生产环境中得
200200

201201
目前php-msf还在起步阶段,我们花了大量的时间和精力解决稳定性、高性能、内存问题,因为我们认为“基石”是“万丈高楼”的最基本的保障,只有基础打得牢,才能将“大楼”建设得“更高”。3.0版本是我们开源的起始版本,是我们迈出的重要一步,接下来我们重点会是分布式微服务框架的打磨。
202202

203-
另外,由于基于PHP长驻进程,并直接解析HTTP或者TCP请求,这是服务化最重要的支撑,基于此我们可以做很多原来不敢去实现的想法,总之想像空间很大。
203+
另外,由于基于PHP常驻进程,并直接解析HTTP或者TCP请求,这是服务化最重要的支撑,基于此我们可以做很多原来不敢去实现的想法,总之想像空间很大。
204204

205205
## 感谢
206206

src/Pack/JsonPack.php

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,28 +17,39 @@
1717
class JsonPack implements IPack
1818
{
1919
/**
20-
* JSON打包
20+
* pack JSON
2121
*
22-
* @param mixed $data 待打包数据
23-
* @return string
22+
* This adapter uses the json_encode PHP's functions.
23+
* For further details, please refer to the manual.
24+
* Manual : http://php.net/manual/en/function.json-encode.php
25+
*
26+
* @param mixed $data
27+
* @param int $options
28+
* @param int $depth
29+
* @return mixed
2430
*/
25-
public function pack($data)
31+
public function pack($data, $options = JSON_UNESCAPED_UNICODE, $depth = 512)
2632
{
27-
return json_encode($data, JSON_UNESCAPED_UNICODE);
33+
return json_encode($data, $options, $depth);
2834
}
2935

3036
/**
31-
* JSON解包
37+
* unpack JSON
3238
*
33-
* @param string $data 待解包数据
34-
* @return mixed
39+
* This adapter uses the json_decode PHP's functions.
40+
* For further details, please refer to the manual.
41+
* Manual : http://php.net/manual/en/function.json-decode.php
42+
*
43+
* @param string $data
44+
* @param ... $params
3545
* @throws Exception
46+
* @return mixed
3647
*/
37-
public function unPack($data)
48+
public function unPack($data, ...$params)
3849
{
39-
$value = json_decode($data);
40-
if (empty($value)) {
41-
throw new Exception('Json unPack失败');
50+
$value = json_decode($data, ...$params);
51+
if ($value === null && json_last_error() !== 0) {
52+
throw new Exception('Json unPack faild. Error message : ' . json_last_error_msg());
4253
}
4354
return $value;
4455
}

0 commit comments

Comments
 (0)