内容简介:最新特性 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 语法
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Linux C编程一站式学习
宋劲杉 / 电子工业出版社 / 2009-12 / 60.00元
本书有两条线索,一条线索是以Linux平台为载体全面深入地介绍C语言的语法和程序的工作原理,另一条线索是介绍程序设计的基本思想和开发调试方法。本书分为两部分:第一部分讲解编程语言和程序设计的基本思想方法,让读者从概念上认识C语言;第二部分结合操作系统和体系结构的知识讲解程序的工作原理,让读者从本质上认识C语言。. 本书适合做零基础的初学者学习C语言的第一本教材,帮助读者打下牢固的基础。有一定......一起来看看 《Linux C编程一站式学习》 这本书的介绍吧!