前言
我们可以通过 yii-apidoc
来通过反射拿取备注的方式生成类的说明文档,也可以根据md文件转换成说明文档,这里主要运用的是md来转换成使用文档,和 hexo 的原理一样
安装apidoc
|
|
安装的时候可能会进行报错
我们可以通过 yii-apidoc
来通过反射拿取备注的方式生成类的说明文档,也可以根据md文件转换成说明文档,这里主要运用的是md来转换成使用文档,和 hexo 的原理一样
|
|
安装的时候可能会进行报错
上次已经介绍过了 yii-apidoc
扩展,但是根据备注生成接口文档感觉还不是我们真正需要的。也稍微查了一下 apidoc
是可以生成接口文档的,但是看到要装这装那也就没倒腾。之前看到过一个及其好用的生成接口文档并提供接口测试的项目,做成一个包供大家使用。
这个因为用到Yii框架,所以依赖于Yii,你也可以根据自己的框架改动部分代码
|
|
假设我们要放到 backend
项目下
注意:如果访问的是其他域名,会存在跨域问题,需要在指向项目中添加header头,如
header("Access-Control-Allow-Origin: *");
允许所有
Yii 的 restful 实现了用户访问速率的控制(RateLimiter
),但是是基于 user
组件的,也就是说用户需要先登录。这里仿照 RateLimiter
写了一个基于 Ip
的控制访问速率的,需要用到 cache
组件用来进行存储每个ip访问的次数和时间。
把过滤器注册进控制器中
扩展的话需要先看一下下面给出的代码。需要更改的有三个方法
这三个方法的作用下面代码中的备注已经很清楚了,也给了一个简单的 dome。
三个方法都包含了 $request, $action
两个参数,可以通过这两个对每个 action
的访问进行更精细的控制
Yii 包含了一个建立在 PHP PDO 之上的数据访问层 (DAO)。DAO为不同的数据库提供了一套统一的API。通过配置可以分析出用的是哪种数据库,然后使用对应的 Schema
来处理sql。各类之间的分工也比较明确 yii\db\Connection
用来连接数据库、创建事务, yii\db\Command
用来执行sql, yii\db\QueryBuilder
用来创建sql。
安全性也比较高,通过pdo预处理sql然后绑定参数,这就防止了sql注入的问题。
顺便说一下 AR
模式,因为继承 Model
所以同样拥有好用的字段验证,这在更新或者写入的时候非常好用,但是不好的地方是 AR
模型通过属性联表的操作,让操作变得不那么清晰。所以查询一般也就不推荐了。
db->createCommand()
执行sql时放注入写法[[field]]
将会被处理成 field
;
将会处理成 配置的表前缀+tablename 注意:这里省略了%,因为hexo的原因,不然会报错:name
将会被替换成传递的对应的参数,仅供参考,因为是通过pdo预处理执行的(这也是为什么会有防注入功能)
|
|