建立基类的目的就是为了方便继承。比如:Admin模块访问,是否登陆。检测登陆可以写到基类里面
控制器基类
原始基类:app\Http\Controllers\Controller.php,我们下面要做的是模块基类,并且继承原始基类即可。
原始基类:Controller.php
// 返回json
public function rJson(int $code, string $msg = '', $data = '') {
$return['code'] = $code;
$return['msg'] = urlencode($msg);
$return['data'] = $data;
$version = Redis::command('hGetAll',['version']);
//APP版本更新 版本号
$return['app_version'] = $version['app_version']??'1.0.1';
//代码缓存更新(清除用户信息)
$return['api_version'] = $version['api_version']??'';
//后台缓存更新
$return['cache_version'] = $version['cache_version']??'';
exit(urldecode(json_encode($return)));
}
// 接收参数
public function rEq(string $column) {
return request($column);
}
// 发送验证码
public function sendSMS(){
}
Admin模块:Admin/BaseAdminController.php
// 检测Admin登陆
public function isLogin(){
}
Index模块:Index/BaseIndexController.php
// 访问ip
public function ip(){
}
// 登陆日志
public function webLog(){
}
Api模块:Api/BaseApiController.php
// 验证签名
public function isSignature(){
}
// 验证token
public function isToken(){
}
需要掌握的原始基类(Controller.php),模块基类(BaseIndexController.php,BaseAdminController.php,BaseApiController.php)的使用和区分。模块基类要继承原始基类,控制器要继承模块基类
模型基类
是否建立看业务需求,方法跟控制器基类基本一样
Typescript 学习笔记五:类
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
基于MVC4+EasyUI的Web开发框架形成之旅--基类控制器CRUD的操作
在上一篇随笔中,我对Web开发框架的总体界面进行了介绍,其中并提到了我的的控制器的设计关系,Web开发框架沿用了我的的很多架构设计思 ...
(转)Qt Model/View 学习笔记 (五)——View 类
Qt Model/View 学习笔记 (五) View 类 概念 在model/view架构中,view从model中获得数据项然后显示给用户.数据显示的方式不必与model提供的表示方式相同,可以与 ...
基于MVC4+EasyUI的Web开发框架形成之旅(6)--基类控制器CRUD的操作
在上一篇随笔中,我对Web开发框架的总体界面进行了介绍,其中并提到了我的的控制器的设计关系,Web开发框架沿用了我的的很多架构设计思 ...
[Swift实际操作]九、完整实例-(5)创建BaseViewController作为控制器的基类
本文将给项目中的所有视图控制器,创建一份基类.该基类用来定义一些共用的属性和方法. 首先在用来放置视图控制器类的文件夹上点击鼠标右键,打开右键 菜单. 选择[New File]创建文件选项. 在弹出的 ...
MVC中Spring.net 对基类控制器无效 过滤器控制器无效
比如现在我又一个BaseController作为基类控制器,用于过滤权限.登录判断等作用,其它控制由原本的继承Controller,改为继承BaseController.然后BaseControlle ...
(转)基于MVC4+EasyUI的Web开发框架形成之旅--基类控制器CRUD的操作
http://www.cnblogs.com/wuhuacong/p/3352016.html 在上一篇随笔中,我对Web开发框架的总体界面进行了介绍,其中并提到了我的的 ...
C++ Pirmer : 第十五章 : 面向对象程序设计之基类和派生的定义、类型转换与继承与虚函数
基类和派生类的定义以及虚函数 基类Quote的定义: classs Quote { public: Quote() = default; Quote(cosnt std::string& bo ...
java jvm学习笔记十一(访问控制器)
欢迎装载请说明出处: http://blog.csdn.net/yfqnihao/article/details/8271665 这一节,我们要学习的是访问控制器,在阅读本节之前,如果没有前面几节的 ...
随机推荐
Flux 普及读本
话说当时做 APP 时,三月不知肉味,再次将眼光投放前端,有种天上一天,地下一年的感觉. Flux 是一种思想 了解的最好方式当然是看Flux官方文档了.React 中文站点也能找到对应的翻译版本,但 ...
UVaLive 7360 Run Step (排列组合,枚举)
题意:给定一个数 n ,表示一共有 n 步,然后你可以迈一步也可以迈两步,但是左腿和右腿的一步和两步数要一样,并且两步数不小于一步数,问你有多少种方式. 析:虽然是排列组合,但还是不会做.....水啊 ...
关于用POI和EXCEL交互的问题
废话不多说,直接通过例子来说明POI的使用: 1.一个创建excel并写入数据的小例子,参照网上的一个例子: public class CreateXL { /** * @param args */ ...
hdu Repositoryti
算法:字典树 题意:给你一些字符串,然后会有一些询问,输出询问在给定的字符串中出现了多少次(字串也是): 例如 add,子串有:a ,d,d,ad ,dd,add:你会发现子串d出现了两次,那么怎么办 ...
Subversion安装
一.Subversion介绍 Subversion是一个集中式的信息共享系统.版本库是Subversion的核心部分,是数据的中央仓库.版本库以典型的文件和目录结构形式文件系统树来保存信息.任意数量的 ...
Unity-碰撞
固定位置和角度 选择项目视图中的 Prefab. 打开检视面板中的 Rigidbody 标签可以看到 Constraints 项. 点击左边的三角形图标, 下面会进一步显示 Freeze Positi ...
norflash启动和nandflash启动
S3C2440的启动时读取的第一条指令是在0x00上,分为成nand flash和nor flash上启动. 1)nand flash:适合大容量数据存储,类似硬盘: 2)nor flash:适合小容 ...
JavaScript中push ,pop ,concat ,join方法
push 方法 将新元素添加到一个数组中,并返回数组的新长度值. arrayObj.push([item1 [item2[. . . [itemN ]]]]) 说明 push 方法将以新元素出现的顺序 ...
[python]python三元表达式另类实现方式
() variable = a if exper else b ()variable = (exper and [b] or [c])[] () variable = exper and b or c
模板 树上求LCA 倍增和树链剖分
//233 模板 LCA void dfs(int x,int f){ for(int i=0;i