微信小程序商城全栈开发 作业笔记 (十四)Banner表的完成 (下)
1.读取器的应用
读取图片的相对路径
在image.php模型中,创建
public function getUrlAttr($value) URL的相对路径 数值 断点走五次就完了
固定 字段名 固定
删除原来控制器的config文件
对于来自网络和本地的图片进行判断读取
由于from是另一个字段,不是value的url字段,所以用data来读取
结果和原来一样
触发读取器,TP5默认
2.自定义模型基类
面对其他模型下有相同的URL字段,读取器就无法生效了
新建一个模型基类,继承与Model,放在基类处理
又成功的返回了
(注意:相同的URL还是会被读取)
改进:将读取器改为一个普通的函数
然后在子类里重新定义
验证一下,好吧,又是它
说明:不让所以的子类模型自动继承BaseModel下的读取器,而是当模型下的字段有需要自动拼合URL时,就在子类下重新定义它的读取器,并且在读取器内部调用方法,其他子类也继承于BaseModel
3.定义API的版本号
直白法
比如在 v1\Banner里,直接在getBanner加入($id,$version)
然后
if($version==1
if($version==2
模块法
在cotroller中添加v2,再写一个Banner,v2\Banner
还需要在router.php里动态传入
测试一下
好了,我们的Banner接口完成了