博客列表 >ThinkPHP6注意事项 各种小坑——2019年9月13日

ThinkPHP6注意事项 各种小坑——2019年9月13日

嘿哈的博客
嘿哈的博客原创
2019年09月13日 16:02:554085浏览

注意:

1. COMPOSER下载captcha验证码插件,在第一目录有composer.json直接运行命令行下载

使用说明:

01. 模板里输出验证码

首先要在你应用的路由定义文件中,注册一个验证码路由规则。

\think\facade\Route::get('captcha/[:id]', \\think\\captcha\\CaptchaController@index);

然后就可以在模板文件中使用

 /admins{:captcha_img()} 或 /admins/captcha.html

091301.jpg

02.在控制器手动验证

if(!captcha_check($verifycode)){
   exit(json_encode(array('code'=>1,'msg'=>'验证码错误')));
  }

2. SESSION默认不开启 需要到中间件

Session功能默认是没有开启的(API应用通常不需要使用Session),如果你需要使用Seesion,需要在全局的中间件定义文件中加上下面的中间件定义:

'think\middleware\SessionInit'

3.记录session两种方式

//记录用户session
  //第一种 不用exit
  // session('admin',$admin);
  // echo json_encode(array('code'=>0,'msg'=>'登陆成功'));
  //第二种 用exit
  session('admin',$admin);
  \think\facade\Session::save();
     exit(json_encode(array('code'=>0,'msg'=>'登陆成功')));

4.session权限校验

创建一个Bases类 继承BaseController

<?php
namespace app\admins\controller;
use think\facade\Db;
use app\BaseController;
class Bases extends BaseController
{
 // tp5直接用 这个做权限校验
 // public function __construct
 // {
 //  parent::__construct();
 // }
 //tp6不行
 public function initialize()
 {
  $admin = session('admin');
  dump($admin);
 }
}


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议