• ThinkPHP5 的入门学习


    与Tp3.2相比,有一下的不同:


    (1)目录名称的改变:

    tp3.2的目录命名首字母皆为大写,例如:Application、Public、Controller、Model、View、ThinkPHP、Runtime、Common、Conf、等。

    而tp5.0的目录命名字母都为小写,例如:application、public、controller、model、view、thinkphp、runtime、没有common目录、和Conf目录。 


    (2)控制器文件命名的改动:

    tp3.2控制器文件命名,格式如:IndexController.class.php;模型命名格式如:IndexModel.class.php。

    tp5.0控制前文件命名,格式如:Index.php;模型命名格式如:Index.php。


    (3)命名空间的改动:

    tp3.2命名,如:

    namespace HomeController

    use ThinkController;

    tp5.0命名,如:

    namespace apphomecontroller。

    use thinkController;

    注意大小写。


    (4)类名字的改动:

    tp3.2命名,如:class IndexController extends Controller {}。

    tp5.0命名,如:class Index extends Controller {}。


    (5)默认访问地址的改动:

    tp3.2,如:地址 + /index.php/Home/Index/Index

    tp5.0,如:地址 + /public/home/index/index。


    (6)判断请求方式的改动

    tp3.2,如:if(IS_POST){}

    tp5.0,如: if(Request::instance()->isPost()){}


    (7)加载view页面

    tp3.2,如:$this->display();

    tp5.0,如: return $this->fetch();


    (8)加载验证码

    tp3.2,ThinkPHP目录下的Think目录下有Verify.class.php类以及Verify目录放字体文件,可以直接使用:

        // 生成验证码图片
        public function check_code_img(){
            ob_clean();
            // 验证码配置选项
            $config=array(
                'fontSize'  =>  20,              // 验证码字体大小(px)
                'length'    =>  4,               // 验证码位数
                'fontttf'   =>  '4.ttf',              // 验证码字体,不设置随机获
            );
            //实例化验证码类
            $Verify = new ThinkVerify($config);
            //输入验证码
            $Verify->entry();
        }

    tp5.0,如果不使用Composer安装think-captcha扩展包,也可以使用tp3.2的类:

    (1)把Verify.class.php类复制到think目录下,命名为Verify.php;

    (2)把Verify目录复制到think目录下,目录中主要是字体文件;

    (3)把Verify类的的命名空间的Think修改为think;

    (4)Verify类中 $secode['verify_time'] = NOW_TIME; // 验证码创建时间

    常量NOW_TIME框架中没有定义,可以在base.php文件中定义:

    define('NOW_TIME',$_SERVER['REQUEST_TIME']);

    (9)$this->error()返回格式的不同:

    tp3.2,{"info":"错误信息","status":0,"url":""}

    tp5.0,{"code":0,"msg":"错误信息","data":"","url":"","wait":3}


    (9)空控制器的差异:

    tp3.2,使用EmptyController,

    tp5.0,使用Error控制器。




         
  • 相关阅读:
    Objective-C 在Categroy中创建属性(Property)
    iOS截屏
    iOS简易图片选择器 (图片可多选,仿微信)
    iOS 3D touch 使用技巧
    soap request by afnetworking2.X/3.X
    类似网易新闻 title栏 滚动时 文字放大&变色
    iOS 用collectionview 做的无限图片滚动 广告banner适用
    iOS WebP转换工具
    微博app中常用正则表达式
    python中property(lambda self: object())简单解释
  • 原文地址:https://www.cnblogs.com/gyfluck/p/9208863.html
Copyright © 2020-2023  润新知