# CSpeed
**Repository Path**: fnet/cspeed
## Basic Information
- **Project Name**: CSpeed
- **Description**: CSpeed 框架,全堆栈的轻量级C语言PHP扩展框架,以高性能、极速为目标。
- **Primary Language**: C
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 17
- **Created**: 2017-10-31
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# CSpeed v2.0.1 手册 #
## 最新特性 ##
修复使用 CSpeed 框架进行 API 项目时的高并发情况下的PHP崩溃的情况。
$app = new App::getApp();
$app->get('/', function(){
echo "hello cspeed";
});
此情况见于 2.0.0 版本。已在新版本中予以修复。
新版本中 **getApp()** 方法是一个单例模式控制器获取方法;不再适应于创建一个 **Cs\App** 对象,
新版本中全部更新为 构造函数形式。可以不传入任何的参数来生成一个 零 IO 消耗的 application 对象 。
控制器全部更新为命名空间形式,如路由:
http://www.supjos.com/hello/cspeed/news
导向到的是 **hello** 模块中的 **Cspeed** 控制器中的 **newsAction** 方法:
控制器的格式如下:
左右的控制器都必须继承自 **Cs\mvc\Controller** 类:
bootstrap()->run();
Cs\App类的构造函数支持传入绝对路径或者相对路径的INI文件,第二个参数是INI配置文件的解析节点,构造函数的两个参数都可以省略来进行API框架的配置达到减少IO操作的目的.
一个复杂的**WEB应用**就只需以上两行代码就可搞定。
2、API示例
$app = new \Cs\App();
$app->get('/hello/cspeed/:any:', function($any){
echo "
Hello CSpeed User, The any value is : $any.
";
});
**RESTful API** 项目只需要添加对应的请求方法即可。
## CSpeed引擎INI配置项 ##
[core]
core.application = '../app' ; WEB目录
core.bootstrap = '../app/bootstrap.php' ; 指定bootstrap 类目录
core.bootstrap.method.string = '__init' ; 指定Bootstrap类的初始化方法的前缀
core.router.modules = index,home,back ; 注册多模块
core.router.default.module = index ; 默认模块
core.router.default.controller = Index ; 默认控制器
core.router.default.action = index ; 默认方法
core.view.ext = phtml ; 视图文件后缀
core.view.auto.render = 0 ; 是否自动渲染视图,1:自动渲染、0:不渲染
[db]
db.master.type = mysql ; 数据库类型,默认:mysql
db.master.host = localhost ; 数据库主机地址
db.master.port = 3306 ; 数据库端口
db.master.dbname = supjos ; 数据库名称
db.master.username = root ; 数据库用户名
db.master.password = 3333 ; 数据库密码
[dev:core]
core.application = '../app' ; WEB目录
core.bootstrap = '../app/bootstrap.php' ; 指定bootstrap 类目录
core.bootstrap.method.string = '__init' ; 指定Bootstrap类的初始化方法的前缀
core.router.modules = index,home ; 注册多模块
core.router.default.module = index ; 默认模块
core.router.default.controller = Index ; 默认控制器
core.router.default.action = index ; 默认方法
core.view.ext = xhtml ; 视图文件后缀
## 典型的Bootstrap初始化类 ##
class Bootstrap implements \Cs\Bootstrap
{
/* 初始化路由与视图 */
function __initRouter($di, $router)
{
$di->set('view', function(){
return new \Cs\mvc\View();
});
$router->add(
'/back/:action:/:id:',
'/shop/list/$1'
);
$router->add(
'/shop/:controller:/:action:/:any:',
'/get/\1/\2/\3'
);
}
/* 初始化数据库连接 */
function __initDb($di, $router)
{
$di->set('db', function(){
return new \Cs\db\pdo\Adapter();
});
}
}
## 典型的控制器结构 ##
view->setVar()方法向模板传输数据
}
/**
* 在每个控制器方法调用执行后进行调用
*/
function __afterAction()
{
}
}
## 典型的模型结构 ##