zoukankan      html  css  js  c++  java
  • ThinkPHP5.0框架开发--第11章 TP5.0 杂项

    ThinkPHP5.0框架开发--第11章 TP5.0 杂项

    第11章 TP5.0 杂项

    ===============================================

    今日学习

    1、缓存

            

             a) 缓存的作用:

                       减少数据库压力

                       用户交互比较

             b) TP对缓存的支持

                       支持的缓存类型包括file、memcache、wincache、sqlite、redis和xcache。

             c) 缓存设置(C:AppServwww p5applicationconfig.php)

                       'cache'                  => [

                           // 驱动方式

                           'type'   => 'File',

                           // 缓存保存目录

                           'path'   => CACHE_PATH,

                           // 缓存前缀

                           'prefix' => '',

                           // 缓存有效期 0表示永久缓存

                           'expire' => 0,

                       ],

             d) 使用

                       1、设置缓存

                                Cache::set(名字,值,时间);

                                cache(名字,值,时间);

                                # 返回值 如果设置成功 true

                                # 如果设置失败 false

                       2、读取缓存

                                Cache::get(名字);

                                cache(名字);

                                # 返回值 如果获取成功 获取到的数据

                                # 如果获取失败 false

                       3、删除缓存

                                Cache::rm('UserData');

                                cache('UserData',NULL);

                                # 返回值 删除成功 true

                                # 删除失败 false

                       4、清空缓存

                                Cache::clear();

                                # 返回值 清空缓存成功 true 否则 false

                       5、使用缓存

                                // 从缓存中获取数据

                                if ($data=cache('UserData')) {

                               

                                         // 如果数据存在

                                        

                                }else{

                                         // 如果缓存中没有数据

                                         $data=Db::table('User')->select();

                                         cache('UserData',$data,20);

                                }

    2、Session

            

             1、设置session

                       Session::set('name','云知梦');

                       session('name','100');

             2、获取session

                       Session::get('name');

                       session('name');

                       # 返回值 如果获取成功 返回获取到的值 如果失败 NULL

             3、判断是否设置

                       Session::has('name1');

                       session("?name");

                       # 返回值 如果存在返回True 如果不存在 false

             4、删除session

                       Session::delete('data');

                 session('name',null);

                 # 删除session 无返回值

        5、清空session

                 Session::clear();

                 session(null);

    3、Cookie

            

             1、设置Cookie

                       Cookie::set('name','云知梦');

                       Cookie::set('info','云知梦只为有梦想的人',50);

                       cookie('time','2017-10-25');

                       cookie('age',5,50);

             2、获取Cookie

                       Cookie::get('name');

                       cookie('time');

                       # 获取Cookie 如果成功 返回获取值,如果失败返回NULL

             3、判断Cookie

                       Cookie::has('name');

                       cookie("?name");

                       # 判断cookie是否设置,如果设置返回true,如果没有设置返回false

             4、删除Cookie

                       Cookie::delete('name');

                       cookie('name',null);

             5、清空Cookie

                       Cookie::clear();

                       cookie(null);

    4、分页

            

             1、控制器中如何书写

                       // 查询数据

                       // 分页效果

                       $data=Db::table('user')->paginate(3);

                       // 简化的分页效果

                       $data=Db::table('user')->paginate(3,true);

                       // 分配数据

                       $this->assign('data',$data);

                       // 加载页面

                       return $this->fetch();

             2、页面中如何书写

                       {volist name="data" id="val"}

                                <tr>

                                         <td>{$val.id}</td>

                                         <td>{$val.name}</td>

                                         <td>{$val.pass}</td>

                                </tr>

                               

                       {/volist}

                       {$data->render()}

    5、文件上传

            

             1、页面

                       <form action="{:url('upload')}" method="post" enctype="multipart/form-data">

                                <p>

                                         File:

                                         <input type="file" name="file" id="">

                                </p>

                                <p>

                                         <input type="submit" value="提交">

                                </p>

                       </form>

             2、控制器

                       public function upload(Request $request){

                                // 接收数据

                                $file=$request->file('file');

                                // 进行文件上传

                                if ($info=$file->move('./upload/')) {

                                         dump($info->getsaveName());

                                }else{

                                         dump($info->getError());

                                }

                       }

    6、验证码

            

             1、首先判断系统是否支持验证码

             2、使用

                       1) 页面中

                                <form action="{:url('check')}" method="post">

                                         <!-- {:captcha_img()} -->

                                         <img src="{:captcha_src()}" alt="">

                                         <input type="text" name="code" id="">

                                         <input type="submit" value="提交">

                                </form>

                       2) 判断验证码

                                $code=input('post.code');

                                // 判断验证码是否正确

                                if (captcha_check($code)) {

                                         echo "okokok";

                                }else{

                                         echo "error";

                                }

             3、验证码相关设置

                       'captcha'=>[

                           'codeSet'  => '2345678abcdefhijkmnpqrstuvwxyzABCDEFGHJKLMNPQRTUVWXY',

                           // 验证码字符集合

                           'expire'   => 1800,

                           // 验证码过期时间(s)

                           'useZh'    => false,

                           // 使用中文验证码

                           'zhSet'    => '们以我',

                           // 中文验证码字符串

                           'useImgBg' => false,

                          // 使用背景图片

                           'fontSize' => 25,

                           // 验证码字体大小(px)

                           'useCurve' => true,

                           // 是否画混淆曲线

                           'useNoise' => true,

                           // 是否添加杂点

                           'imageH'   => 0,

                           // 验证码图片高度

                           'imageW'   => 0,

                           // 验证码图片宽度

                           'length'   => 5,

                           // 验证码位数

                           'fontttf'  => '',

                           // 验证码字体,不设置随机获取

                           'bg'       => [243, 251, 254],

                           // 背景颜色

                           'reset'    => true,

                           // 验证成功后是否重置

                       ]

    7、图片处理

            

             1、读取图片

                      

                       $images=Image::open("./img/c.jpg");

             2、获取基本信息

                       // 宽度

                       dump($images->width());

                       // 高度

                       dump($images->height());

                       // 类型

                       dump($images->type());

                       // 宽和高

                       dump($images->size());

                       // mime

                       dump($images->mime());

             3、图片裁剪

                       crop(100,200,300,350);

                       // 从(300,350)的位置开始裁剪,裁剪100,200 大小,默认从(0,0)位置开始裁剪

                       // 裁剪默认从顶点开始裁剪

                                $images->crop(300,300)->save("./img/cai.jpg");

                       // 设置裁剪位置

                                $images->crop(300,300,100,100)->save('./img/cai1.jpg');

             4、图片缩放

                       // 图片缩放 默认是等比例缩放,可以进行设置

                       // //常量,标识缩略图等比例缩放类型

                       // constTHUMB_SCALING???=?1

                       // //常量,标识缩略图缩放后填充类型

                       // constTHUMB_FILLED????=?2;

                       // //常量,标识缩略图居中裁剪类型

                       // constTHUMB_CENTER????=?3;

                       // //常量,标识缩略图左上角裁剪类型

                       // constTHUMB_NORTHWEST?=?4;

                       // //常量,标识缩略图右下角裁剪类型

                       // constTHUMB_SOUTHEAST?=?5;

                       // //常量,标识缩略图固定尺寸缩放类型

                       // constTHUMB_FIXED?????=?6;

                       $images->thumb(300,300,2)->save('./img/th.jpg');

             5、图片翻转

                       $images->flip()->save("./img/fan.jpg");

             6、图片旋转

                       $images->rotate(180)->save("./img/xuan.jpg");

             7、水印

                       // 图片水印

                                $images->water("./img/logo.png",5,50)->save("./img/water.jpg");

                       // 文字水印

                                $images->text('123',"msyh.ttf",20,"#ff0000")->save('./img/text.jpg');

  • 相关阅读:
    Charles:rewrite重写功能
    Vue中provide和inject 用法
    vue中install方法
    vue自定义组件(通过Vue.use()来使用)即install的使用
    Eelectron 中的remote模块
    理解Vue中的Render渲染函数
    Vue.js中this.$nextTick()的使用
    postman请求本地接口Error: connect ECONNREFUSED 127.0.0.1:8083
    1016 Phone Bills (25 分)
    CF842E Nikita and game
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/8598687.html
Copyright © 2011-2022 走看看