高性能WEB开发

分类 CSpeed 下的文章

June 4, 2018

CSpeed的基础分布式数据库模块

CSpeed采用Bison&Flex进行SQL的词法、语法分析而开发的分布式数据库模块使用示例如下:// 初始化分布式数据库模型 $adapter = new DbAdapter(); // 加载配置文件 // 分表、分库配置 $adapter->loadConfig([ /** 分表数据表名称 */ 'tables' => [ 'supjos'...
May 8, 2018

CSpeed简单API示例

在业务场景中,可能存在这样一个简单化的使用接口的情况,根据不同的接口分类不同的位置然后在入口处引入。在CSpeed中使用此方案很简单,具体的使用如下示例如下:$app = new Cs\App('../app/config.core.ini'); $app->get('/', function(){ // 以斜杠开头的路由表示截取所有的路由请求,因此会拦截掉所有的后续请求 ...
May 7, 2018

CSpeed配置nginx路由

CSpeed默认支持两个路由模式:PATH-INFO与URL,其中PATH-INFO模式依赖于解析$_SERVER['PATH-INFO']信息来进行路由分析,而URL 模式,指定 CSpeed 从 url 地址中的指定参数获取路由信息,引擎默认(__csurl)参数。用户可以从以下两个参数进行配置:core.debug.mode = on ...
May 5, 2018

CSpeed数据库操作

在CSpeed中,提供了两种操作方式,PDO方式与基于PDO的ActiveRecord方式,下面分析这两种方式在CSpeed的用法:在 CSpeed中,如果需要进行PDO与ActiveRecord方式的切换使用,非常方便,框架提供了一种切换方式,从ActiveRecord切换到PDO原生方式:getDb()与getAdapter(),如:CSpeed中数据库的操作类有两种类型:Cs\db\p...
May 5, 2018

CSpeed参数过滤

由于开发中,用户输入的数据或多或少需要进行处理,以防攻击与系统安全,因此CSpeed针对GET于与POST提交的参数提供了一个可选过滤参数(第二个参数)进行处理:/** * @var $request Request */ $request = $this->di->get('request'); $id = $request->getPost('id', funct...
May 5, 2018

CSpeed非重定向路由转发

在接口系统开发中,一般一个接口地址对应一个接口请求,导致接口地址过于雍胖,如下:获取苹果列表:https://www.supjos.cn/api/goods/lists.html获取草莓列表:https://www.supjos.cn/api/strawberry/lists.html如果我们还需要几十个接口甚至几百个接口,则接口地址过于雍胖,我们其实可以从业务角度解析下,都是接口,所以我们...
May 5, 2018

CSpeed 解耦使用

在中大型项目开发中,一般情况下,为了将各个组建之间的耦合关系减小,会采用一些方式:使用接口,少用继承配置文件解耦CSpeed借鉴Java Spring Bean的思想,将组件的耦合集中于配置文件,使用Cs\ObjectFactory类处理,如下:耦合配置文件配置示例:return [ 'rsa' => [ 'class' => '\app\mod...
April 29, 2018

PHP扩展线上环境的安装

一般而言,在开发阶段,建议用户使用debug模式编译、让可执行文件携带更多的可以调试的符号表信息,不过在生产环境则需要用户去除调试模式增加的符号表信息,一般而言去掉调试信息后,可执行文件的大小会缩小5倍大小。具体的步骤如下:如果是Linux环境,因为绝大多数Linux系统搭配有GCC,则在自动生成的configure文件中会携带上 -g 参数,也就是调试模式,在线上生产环境的时候建议去除该选...
April 1, 2018

Cs\tool\Config 类

CSpeed扩展的配置文件类,专业 ini 文件解析方法:1、public function __construct()构造函数2、public function loadConfig($configFilePath)加载 $configFilePath 指定的文件3、public function getConfigs()获取$configFilePath指定的文件所有的配置项4、publ...
April 1, 2018

Cs\tool\Component 类

CSpeed扩展的观察者事件模式支持类方法:1、public function __construct()构造函数2、public function on($name, $closure)绑定事件$name:事件名称$closure:事件的回调函数3、public function off($name, $closure = NULL)解除绑定$name:需要解除绑定的事件名称$closur...