与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 Home\Controller

use Think\Controller;

tp5.0命名,如:

namespace app\home\controller。

use think\Controller;

注意大小写。


(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 \Think\Verify($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控制器。



     

ThinkPHP5 的入门学习的更多相关文章

  1. vue入门学习(基础篇)

    vue入门学习总结: vue的一个组件包括三部分:template.style.script. vue的数据在data中定义使用. 数据渲染指令:v-text.v-html.{{}}. 隐藏未编译的标 ...

  2. Hadoop入门学习笔记---part4

    紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...

  3. Hadoop入门学习笔记---part3

    2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...

  4. PyQt4入门学习笔记(三)

    # PyQt4入门学习笔记(三) PyQt4内的布局 布局方式是我们控制我们的GUI页面内各个控件的排放位置的.我们可以通过两种基本方式来控制: 1.绝对位置 2.layout类 绝对位置 这种方式要 ...

  5. PyQt4入门学习笔记(一)

    PyQt4入门学习笔记(一) 一直没有找到什么好的pyqt4的教程,偶然在google上搜到一篇不错的入门文档,翻译过来,留以后再复习. 原始链接如下: http://zetcode.com/gui/ ...

  6. Hadoop入门学习笔记---part2

    在<Hadoop入门学习笔记---part1>中感觉自己虽然总结的比较详细,但是始终感觉有点凌乱.不够系统化,不够简洁.经过自己的推敲和总结,现在在此处概括性的总结一下,认为在准备搭建ha ...

  7. Retrofit 入门学习

    Retrofit 入门学习官方RetrofitAPI 官方的一个例子 public interface GitHubService { @GET("users/{user}/repos&qu ...

  8. MyBatis入门学习教程-使用MyBatis对表执行CRUD操作

    上一篇MyBatis学习总结(一)--MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对use ...

  9. opengl入门学习

    OpenGL入门学习 说起编程作图,大概还有很多人想起TC的#include <graphics.h>吧? 但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜的640 ...

随机推荐

  1. 新手玩CSS中的一些黑科技

    哎哎 1.鼠标移进网页里,不见了= = *{ cursor: none!important; } 2.简单的文字模糊效果 *{ color: transparent; text-shadow: #11 ...

  2. 【数据分析 R语言实战】学习笔记 第六章 参数估计与R实现(下)

    6.3两正态总体的区间估计 (1)两个总体的方差已知 在R中编写计算置信区间的函数twosample.ci()如下,输入参数为样本x, y,置信度α和两个样本的标准差. > twosample. ...

  3. PHP中session和cookie的区别

    这个话题无论是系统运维还是PHP开发人员面试时会经常遇到,所以这里也进行一些总结和归纳,session和cookie的具体理论网上比较大,大家googel下均可;系统运维注意区分下session(会话 ...

  4. css3 calc()属性介绍以及自适应布局使用方法

    前端知识 Calc()介绍 calc的英文是calculate的缩写,中文为计算的意思,是css3的一个新增的功能,用来只当元素的长度.比如说:你可以用calc()给元素margin.padding. ...

  5. Xgboost集成算法

    集成算法思想: Xgboost基本原理: Xboost中是一个树(函数)接着一个树(函数)往里加,每加一个树都希望整体表达效果更好一些,即:目标函数逐步减小. 每加入一个函数,使目标函数逐渐减小,整体 ...

  6. myBatis参数处理 myBatis佟刚课程笔记

    单个参数:myBatis不会做特殊处理 #{参数名}: 取出参数值 多个参数: myBatis会做特殊处理 多个参数会被封装成一个MAP key:param1 param2.... param10,或 ...

  7. java对比IO和NIO的文件读写性能测试

    1. NIO采用更接近操作系统执行IO的方式:通道和缓存器:顾名思义,数据源的数据由缓存器通过通道进行传输. 2. 在JDK5之后,原始IO系统底层用NIO进行了优化,这可以通过sun公布的源码中找到 ...

  8. nginx发布web网站

    修改/conf/nginx.conf配置文件 server { listen *:; # Listen server_name ""; # Don't worry if " ...

  9. Node.js快速生成26个字母

    const buf1 = Buffer.allocUnsafe(26); for (let i = 0; i < 26; i++) { // 97 是 'a' 的十进制 ASCII 值. buf ...

  10. jquery-closest

    1.closest() 本例演示如何通过 closest() 完成事件委托.当被最接近的列表元素或其子后代元素被点击时,会切换黄色背景: $( document ).bind("click& ...