专栏首页小白程序猿博客系统开发-后台模块创建及相关路由配置

博客系统开发-后台模块创建及相关路由配置

今天来说一下“博客系统开发-后台模块创建及相关路由配置”,继昨天‘博客开发-框架安装及网站配置,我们今天来写后台模块、配置强制路由模式、创建后台公共控制器、首页控制器、登录控制器及相关路由配置。

一、创建后台模块

在phpstrom中使用快捷键F5复制index模块为admin模块,这样我们的application下就存在两个模块【index和admin】模块。如下图:

二、修改配置文件

我们修改application下面的config文件夹内的app.php文件,将100行、104行配置更改为true。如下图:

三、创建后台控制器

将admin模块下controller下的index.php内的命名空间更改,如下:

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2019/5/9 0009
 * Time: 下午 9:37
 */
namespace app\admin\controller;

class Index extends Common
{
    /**
     * 后台首页
     * @return \think\response\View
     */
    public function index()
    {
        return view();
    }
}

你会发现控制器里面继承了Common控制器,是的,我们需要在admin模块下的controller中创建Common控制器,如下:

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2019/5/9 0009
 * Time: 下午 9:37
 */
namespace app\admin\controller;

use think\App;
use think\Controller;

class Common extends Controller
{
    
}

然后创建Login控制器,代码如下:

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2019/5/9 0009
 * Time: 下午 9:38
 */
namespace app\admin\controller;

use think\Controller;

class Login extends Controller
{
    /**
     * 登录页面
     * @return \think\response\View
     */
    public function index()
    {
        return view();
    }
}

编写Common控制器中的逻辑代码,如下:

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2019/5/9 0009
 * Time: 下午 9:37
 */
namespace app\admin\controller;

use think\App;
use think\Controller;

class Common extends Controller
{
    public function __construct(App $app = null)
    {
        parent::__construct($app);
        $userName = session('userName','','thinkBlog');
        if($userName){
            $this->assign('userName',$userName);
        }else{
            $this->redirect('/admin/login.html');
        }
    }
}

四、路由规则

我们采用路由分组模式编写全站路由规则(对请求地址进行限定):

<?php

Route::group('admin', function () {
    Route::get('', 'admin/Index/index');    //后台首页
    Route::group('login', function () {
        Route::get('/', 'admin/Login/index')->ext('html');   //登录
        Route::post('getLogin', 'admin/Login/login')->ext('html');   //登录处理
        Route::get('code', 'admin/Login/code')->ext('html'); //验证码
        Route::post('out', 'admin/Login/out')->ext('html');  //退出
    });
});

代码已经上传至码云,前往查看

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Git系列之查看提交历史

    本节来说下Git 的提交历史,在日常开发中我们每天都在提交自己的更新代码之仓库,那么作为管理人员或者自己如何来查看提交了哪些呢?

    小白程序猿
  • Python小工具-sitemap转换工具

    周五公司运营同事,给我发过来8个网站的sitemap文件,都是xml格式的,这个也是网站地图最常见的格式。同时呢,这个项目有移动端网址,需要将sitemap文件...

    小白程序猿
  • Navicat Premium12安装及破解教程

    Navicat premium是一款数据库管理工具,是一个可多重连线资料库的管理工具,它可以让你以单一程式同时连线到 MySQL、SQLite、Oracle 及...

    小白程序猿
  • 弱口令,yyds

    在渗透企业资产时,弱口令往往可达到出奇制胜,事半功倍的效果!特别是内网,那家伙,一个admin admin或者admin123 拿下一片,懂的都懂。

    Gamma实验室
  • pycharm wsl Permission denied

    一看就知道这个是linux用户权限的问题,一开始安装子系统会强制用户设置一个账户,该账户是个普通账户,无权擦写/usr/local目录下的文件

    马哥Python
  • SQL注入学习之 - Access数据库注入原理

    Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户...

    渗透攻击红队
  • 杨校老师课堂之用户登录时如何进行密码加密存储到数据库

    杨校
  • thinkphp 5框架实现登陆,登出及session登陆状态检测功能示例

    本文实例讲述了thinkphp 5框架实现登陆,登出及session登陆状态检测功能。分享给大家供大家参考,具体如下:

    砸漏
  • [HCTF] admin出题人求挨打

    HCTF2018-web-admin来自出题人的write up

    安恒网络空间安全讲武堂
  • Django安装及简单使用1.5

    Django安装及简单使用1.5 代码都在github: URL:https://github.com/njxshr/codes/tree/master/t...

    98k

扫码关注云+社区

领取腾讯云代金券