# cmlphp2.5-demo-api **Repository Path**: lampge/cmlphp2.5-demo-api ## Basic Information - **Project Name**: cmlphp2.5-demo-api - **Description**: 本项目为基于CmlPHP V2.5开发的一个api项目示例。包含了api开发的两个接口示例以及根据代码注释自动生成文档的示例。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2016-01-22 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CmlPHP V2.5 API项目示例 本项目为基于CmlPHP V2.5开发的一个api项目示例。包含了api开发的两个接口示例以及根据代码注释自动生成文档的示例。 还不知道什么是CmlPHP?[点这里了解](http://cmlphp.51beautylife.com/ "CmlPHP") > 下载本示例之前请先下载 [CmlPHPV2.5 项目推荐目录骨架](http://git.oschina.net/linhecheng/cmlphp2.5-demo-proj).然后将本项目放到projxxx下。本示例使用了valitron验证插件,所以需要在composer.json require中加入 `"vlucas/valitron" : "*"` 然后执行 `composer update`。当然了如果你没有安装composer也可以直接下载我打包好的zip包(包含了项目目录骨架) [api_demo_zip](http://cml-doc.oss-cn-hangzhou.aliyuncs.com/2.5/cmlphpapidemo.zip) [视频教程](http://v.youku.com/v_show/id_XMTQwNTc4MDk2OA==.html) --- 主要的配置文件在 `projxxx/Application/api/Config/api.php中` ```php 'lookup_doc_key',//开启文档解析 查看的key为lookup_doc_key //接口地址,自动生成接口文档时显示,建议在route.php中配置路由Route::post('api' ,'api/Bootstrap/run');//即只允许post访问 'api_url' => \Cml\Http\Request::baseUrl() . \Cml\Http\Response::url('api/Bootstrap/run', false), 'doc_name' => '测试接口文档', //生成接口文档时做为标题 //key 来源=>key 'key' => array( 'web' => 'lxln-33k545xc00-354.xb-3dfgd', 'android' => 'eo,ngn00eo-5930.b..sdeo-3n.gls03x', 'ios' => '4j90f3jt-343fjdjf-l93nd' ), 'api_log_on_redis_list_name' => 'api-test-log', //当default_cache为Redis时,会自动记下api的log。这边填写队列名称 //请求有效时间 'token_expire' => array( 'web' => 0,//不超时 'android' => 10,//10秒超时 'ios' => 10//10秒超时 ), //ip限制 'ip_deny' => array( 'web' => array(//只授权某些ip访问 ) ), 'api_list' => array( 'web' => array(//只允许某些接口 ) ), //线上版本 'version' => array( 'V1' => array(//参数对应方法名 //用户相关 '1-1' => 'api\Controller\V1\TestController\register', //用户注册 '1-2' => 'api\Controller\V1\TestController\login', //用户登录 ), //'V2版本接口' 'V2' => array(//参数对应方法名 ), ), //自定义返回code说明 ,自动生成文档时显示 'code' => array( '0' => '成功', '-1' => '失败', //..... ) ); //包含上级环境中的配置并合并 $globalApiConfig = CML_APP_FULL_PATH.DIRECTORY_SEPARATOR .'Config'.DIRECTORY_SEPARATOR . \Cml\Config::$isLocal.DIRECTORY_SEPARATOR.'api'.'.php'; if (is_file($globalApiConfig)) { $apiConfig = array_merge($apiConfig, require($globalApiConfig)); } return $apiConfig; ``` 我们看到在配置中我们配置了V1版本有注册、登录两个接口。 我们来看下其中的注册接口 ![](http://cml-doc.oss-cn-hangzhou.aliyuncs.com/2.5/api/apidemo1.png) 我们看到了注释中的接口描述、参数、请求示例、返回成功/失败示例。 请修改`api.php`中相应的`lookup_doc_key`。 打开文档查看地址http://xxx/index.php/api/Bootstrap/doc/key/lookup_doc_key ![](http://cml-doc.oss-cn-hangzhou.aliyuncs.com/2.5/api/apidemo2.png) ![](http://cml-doc.oss-cn-hangzhou.aliyuncs.com/2.5/api/apidemo3.png) 我们看到了自动生成的接口文档。很简单吧。动起来吧。 开发过程中的目录及程序接口请参考 [CmlPHP V2.5开发手册](https://www.zybuluo.com/linhecheng/note/226146)