做项目之前,一定要先部署要自己的"基类",非常的重要。打个比方,要访问会员中心相关的控制器,这类控制器是不是都要有一个“登录限制”,才让访问会员相关的控制器?

一、创建三大基类

原始基类

位置:thinkphp\apps\common\controller\Base.php

作用:Base模块下的内容,Index模块,和Admin模块都可以调用

代码:

<?php
/**
* 原始基类
* */
namespace app\Common\controller;
use think\Controller; class Base extends Controller{ public function _initialize()
{
parent::_initialize();
echo '原始基类';
}
public function test1(){
return 'test1';
}
}

Index模块基类

位置:thinkphp\apps\common\controller\Base.php

作用:Index模块下的控制器,都要“继承基类”并且“调用基类”

代码:

<?php
/**
* 前端基类
* */
namespace app\index\controller;
use app\Common\controller\Base; class IndexBase extends Base
{
public function _initialize()
{
parent::_initialize();
}
public function index()
{ } }

Admin模块基类

位置:thinkphp\apps\common\controller\Base.php

作用:Admin模块下的控制器,都要“继承基类”并且“调用基类”

代码:

/**
* 后台首页
* */ namespace app\Admin\controller;
use app\Admin\controller\AdminBase; class Index extends AdminBase
{
public function _initialize()
{
parent::_initialize();
} public function index()
{
return $this->fetch();
} }

(User模块基类,如果有会员的话,这个也必须要创建的)

创建基类的主要目的,就是“继承”与“调用

Thinkphp5笔记三:创建基类的更多相关文章

  1. cocos2dx打飞机项目笔记三:HeroLayer类和坐标系

    HeroLayer类主要是处理hero的一些相关东西,以及调用bulletLayer的一些方法,因为子弹是附属于hero的~~ HeroLayer 类的成员如下: class HeroLayer : ...

  2. 数据库学习笔记 (三) python操作数据库

    python 操作MYSQL数据库主要有两种方式: 使用原生模块:pymysql ORM框架:SQLAchemy 一.pymysql 1.1下载安装模块 第一种:cmd下:执行命令下载安装:pip3 ...

  3. C++ primer plus读书笔记——第13章 类继承

    第13章 类继承 1. 如果购买厂商的C库,除非厂商提供库函数的源代码,否则您将无法根据自己的需求,对函数进行扩展或修改.但如果是类库,只要其提供了类方法的头文件和编译后的代码,仍可以使用库中的类派生 ...

  4. MOOC C++笔记(三):类和对象提高

    第三周:类和对象提高 this指针 作用 this指针作用就是指向成员函数所作用的对象. 非静态成员函数中可以直接使用this来代表指向该函数作用的指针. 成员函数中默认有一个this指针指向当前对象 ...

  5. VSTO学习笔记(三) 开发Office 2010 64位COM加载项

    原文:VSTO学习笔记(三) 开发Office 2010 64位COM加载项 一.加载项简介 Office提供了多种用于扩展Office应用程序功能的模式,常见的有: 1.Office 自动化程序(A ...

  6. 学习笔记(三)--->《Java 8编程官方参考教程(第9版).pdf》:第十章到十二章学习笔记

    回到顶部 注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法 ...

  7. 《MFC游戏开发》笔记三 游戏贴图与透明特效的实现

    本系列文章由七十一雾央编写,转载请注明出处. 313239 作者:七十一雾央 新浪微博:http://weibo.com/1689160943/profile?rightmod=1&wvr=5 ...

  8. [Firefly引擎][学习笔记三][已完结]所需模块封装

    原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读:        笔记三主要就是各个模块的封装了,这里贴 ...

  9. java之jvm学习笔记三(Class文件检验器)

    java之jvm学习笔记三(Class文件检验器) 前面的学习我们知道了class文件被类装载器所装载,但是在装载class文件之前或之后,class文件实际上还需要被校验,这就是今天的学习主题,cl ...

随机推荐

  1. WPF 异步执行

    private void Operate_OnClick(object sender, RoutedEventArgs e) { AsyncFindBox(); RadWindow.Alert(&qu ...

  2. (转)python requests 高级用法 -- 包括SSL 证书错误的解决方案

    我在使用requests访问某个https网站时出现错误  error::SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify fai ...

  3. 网站遭受CC攻击的解决办法

    前两天,网站的注册发送手机短信验证码的接口受到攻击,一个半小时,1万条短信都发出去了.可见,我们的安全防护做的多么不好. 分析攻击方式: 1) 多台机器模拟人工操作,随机输入手机号,就点击发送短信: ...

  4. centos 6.5 升级php到5.6.17版本

    1. 下载php5.6.17版本:编译安装, ./configure --prefix=/usr/local/php5. --with-config-/etc --with-mysql=/usr/lo ...

  5. 软件安装的list(0918)

    勿忘国耻~ gcc-8.2.0 git-2.19.0 webbench-1.5 这个已经好久没有更新了

  6. 从Unauthorized 401错误学习Spring Boot的Actuator

    之前用Spring Boot都是别人搭好的框架,然后自己在里面写就行了.对原理.细节上都怎么涉及,毕竟需求都做不完.但是昨天一个访问RESTful接口的401问题搞了我2个小时.网上找的很多用: ma ...

  7. C#中[] 、List、Array、ArrayList等数据结构的差异简述

    [] 是针对特定类型.固定长度的. List 是针对特定类型.任意长度的. Array 是针对任意类型.固定长度的. ArrayList 是针对任意类型.任意长度的. Array 和 ArrayLis ...

  8. 【oneday_onepage】——Ten Changes To Make A Difference In Your Life

    When you want to change something in your life, it can feel overwhelming. Whether it’s losing 50lbs ...

  9. 七牛图片存储api

    https://developer.qiniu.com/kodo 属于对象存储 https://www.qiniu.com/prices 如何获取存储文件的外链接 https://developer. ...

  10. 即时通信(IM)和实时通信(RTC)的区别

    即时通信(IM=nstant messaging)和实时通信(rtc=Real-time communication)都是一套网络通信系统,其本质都是对信息进行转发.其最大的不同点,是对信息传递的时间 ...