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

  • 2019 年 12 月 27 日
  • 笔记

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

一、创建后台模块

在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 appadmincontroller;    class Index extends Common  {      /**       * 后台首页       * @return thinkresponseView       */      public function index()      {          return view();      }  }

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

<?php  /**   * Created by PhpStorm.   * User: Administrator   * Date: 2019/5/9 0009   * Time: 下午 9:37   */  namespace appadmincontroller;    use thinkApp;  use thinkController;    class Common extends Controller  {        }

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

<?php  /**   * Created by PhpStorm.   * User: Administrator   * Date: 2019/5/9 0009   * Time: 下午 9:38   */  namespace appadmincontroller;    use thinkController;    class Login extends Controller  {      /**       * 登录页面       * @return thinkresponseView       */      public function index()      {          return view();      }  }

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

<?php  /**   * Created by PhpStorm.   * User: Administrator   * Date: 2019/5/9 0009   * Time: 下午 9:37   */  namespace appadmincontroller;    use thinkApp;  use thinkController;    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');  //退出      });  });

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