内容简介:最新特性 CSpeed v2.1.5特性: 新增 composer 支持。使用如下两种方式加载composer: 1、入口文件处 $app->setComposerLoader("xxx/autoload.php"); 2、在框架的任何位置均可使用此方法加载 compoesr \Cs\App:...
最新特性
CSpeed v2.1.5特性:
新增 composer 支持。使用如下两种方式加载composer:
1、入口文件处
$app->setComposerLoader("xxx/autoload.php");
2、在框架的任何位置均可使用此方法加载 compoesr
\Cs\App::getApp()->setComposerLoader("xx/autoload.php");
CSpeed v2.1.4特性:
1、修复 Cs\rpc\Server bug
由于在每次请求中,RPC必须携带一个 ID 标识, 故正常情况下 `1` 标识一个正常的返回值,在2.1.4版本中,修复为返回值 `-1` 即表示请求出错.
2、新增 CLI 命令行模式支持
CSpeed CLI模式下,只需要在入口文件添加如下代码即可启动一个 CLI 模式的CSpeed 框架系统,以便进行需要长时间的请求或者数据处理。
假设入口文件名称为: console.php
<?php $cli = new \Cs\console\Task(); $cli->run($argv[1]);
其中 $argv[1] 表示 命令行界面的输入参数信息,添加了如上的代码后,用户只需要在入口文件的目录下启动 “终端” or “命令行”,输入如下命令,请事先设置好环境变量或者使用 PHP 绝对路径:
php console.php index/good/info
就会导向到 index 模块 Good 控制器 infoAction 方法 命令行模式也支持使用参数,如上所示:
php console.php index/good/info/name/cspeed
那么在 index 模块 Good 控制器 infoAction 方法内,可以使用全局变量 $_GET['name'] 或者CSpeed引擎的网络模块 \Cs\net\Request 的 get('name') 来获取 命令行模式下的传入参数 name 的值 cspeed。
CSpeed v2.1.0特性:
1、修复现有的系统BUG,提升性能.
2、增加 观察者模式事件模型,如:
<?php namespace app\modules\index\controllers; class Index extends \Cs\mvc\Controller { function initialise() { $this->on(Index::EVENT_BEFORE_ACTION, [$this, '_beforeAction']); $this->on(Index::EVENT_AFTER_ACTION, function(){ echo "After action.<br>"; }); } function _beforeAction() { echo '_before action<br>'; } }
CSpeed 引擎的事件模型继承于 Cs\tool\Component 类,所有需要使用事件特性的需求,需要继承父类 \Cs\tool\Component,父类代码如下:
<?php namespace Cs\tool; class Component { function on($eventName, $eventCallBack); function off($eventName, $eventCallBack = NULL); function trigger($eventName); }
CSpeed 引擎的系统类中支持事件的有:\Cs\App、\Cs\mvc\Controller、\Cs\mvc\Model、\Cs\rpc\Server 类。
各个类支持的事件见IDE源码。
CSpeed v2.0.3特性:
1、修复模型错误,优化整体架构
2、增加JSON-RPC模块,示例如下:
客户端:
$client = new \Cs\rpc\Client("http://www.xxx.com/who"); $result = $client->goods(['name' => 'apple', 'price' => '9.99']); /* RPC 服务端返回的JSON数据 */ echo $result;
服务端:
CSpeed服务端JSON-RPC类Server继承于 \Cs\mvc\Controller: 故控制器如下:
<?php namespace app\modules\home\controllers; class Goods extends \Cs\rpc\Server { /* RPC类控制器只运行从父类到本类的initialise * 只需要在本方法内将本对象绑定到RPC端即可 */ public function initialise() { $this->handle($this); } /** * RPC方法后缀为Rpc,方法包含有一个参数为客户端调用的参数 * 数据类型与客户端调用的类型一致 */ function listRpc($params) { /* 只需要将返回的数据return即可 */ return $params; } }
注意: CSpeed框架的RPC模块使用Linux-libcurl库进行开发,用户需要安装libcurl 7.10.5版本以上的类库文件即可。
数据调用的格式如下:
客户端调用传输的格式为:
{"id":3, "method":"xx", "params":"xx", "jsonrpc":"2.0"}
服务端返回的数据格式为:
{"jsonrpc": "2.0", "result": 19, "id": 3}
如果错误则包含一个 error 错误对象:
{"jsonrpc": "2.0", "error": {"code": -32700, "message": "Invalid JSON reqeust data"}, "id": -1}
当前版本中,如果出错,则返回的JSON数据中 id 始终为 1, 如果正确则返回请求数据的 id 与之对应。新版本中 v2.1.4中已经修复为 -1 表示出错,并且携带有 error对象.
【声明】文章转载自:开源中国社区 [http://www.oschina.net]
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- cURL 7.70.0 发布,原生支持 JSON、实验性支持 MQTT
- hi-nginx-1.5.2 发布,优化 cpp 支持,添加 groovy 支持
- hi-nginx-1.5.2 发布,优化 cpp 支持,添加 groovy 支持
- Spring Tools 4.3.0 发布,支持 Eclipse Theia 并弃用 Atom 支持
- Spring Tools 4.3.0 发布,支持 Eclipse Theia 并弃用 Atom 支持
- Tiki 20 发布,支持 markdown 语法
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Approximation Algorithms
Vijay V. Vazirani / Springer / 2001-07-02 / USD 54.95
'This book covers the dominant theoretical approaches to the approximate solution of hard combinatorial optimization and enumeration problems. It contains elegant combinatorial theory, useful and inte......一起来看看 《Approximation Algorithms》 这本书的介绍吧!