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 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 的入门学习的更多相关文章
- vue入门学习(基础篇)
vue入门学习总结: vue的一个组件包括三部分:template.style.script. vue的数据在data中定义使用. 数据渲染指令:v-text.v-html.{{}}. 隐藏未编译的标 ...
- Hadoop入门学习笔记---part4
紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...
- Hadoop入门学习笔记---part3
2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...
- PyQt4入门学习笔记(三)
# PyQt4入门学习笔记(三) PyQt4内的布局 布局方式是我们控制我们的GUI页面内各个控件的排放位置的.我们可以通过两种基本方式来控制: 1.绝对位置 2.layout类 绝对位置 这种方式要 ...
- PyQt4入门学习笔记(一)
PyQt4入门学习笔记(一) 一直没有找到什么好的pyqt4的教程,偶然在google上搜到一篇不错的入门文档,翻译过来,留以后再复习. 原始链接如下: http://zetcode.com/gui/ ...
- Hadoop入门学习笔记---part2
在<Hadoop入门学习笔记---part1>中感觉自己虽然总结的比较详细,但是始终感觉有点凌乱.不够系统化,不够简洁.经过自己的推敲和总结,现在在此处概括性的总结一下,认为在准备搭建ha ...
- Retrofit 入门学习
Retrofit 入门学习官方RetrofitAPI 官方的一个例子 public interface GitHubService { @GET("users/{user}/repos&qu ...
- MyBatis入门学习教程-使用MyBatis对表执行CRUD操作
上一篇MyBatis学习总结(一)--MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对use ...
- opengl入门学习
OpenGL入门学习 说起编程作图,大概还有很多人想起TC的#include <graphics.h>吧? 但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜的640 ...
随机推荐
- new操作符具体干了什么
function Func(){ }; var newFunc=new Func (); new共经过了4个阶段 1.创建一个空对象 var obj=new Object(); 2.设置原型链 把 o ...
- Javaweb学习笔记4—Reuest&Response
今天来讲javaweb的第四段学习. Request和Response还是比较重要的 老规矩,首先先用一张思维导图来展现今天的博客内容. ps:我的思维是用的xMind画的,如果你对我的思维导图感兴趣 ...
- CSS 功能简介
CSS的功能主要包括节点管理(Node Management,以下简称NM)和组管理(Group Management,以下简称GM)两部分,都是由守护进程ocssd.bin 来实现的,这是个多线程的 ...
- Java从入门到放弃18---Map集合/HashMap/LinkedHashMap/TreeMap/集合嵌套/Collections工具类常用方法
Java从入门到放弃18—Map集合/HashMap/LinkedHashMap/TreeMap/集合嵌套/Collections工具类常用方法01 Map集合Map集合处理键值映射关系的数据为了方便 ...
- Eclipse 下载 开源项目 maven依赖丢失和 Deployment Assembly 丢失
周末下载了最新的jeecg的源码来瞅瞅,但是下载后发现,pom文件中定义的依赖都丢失了. 如下图 上网搜索了一下啊,发现需要先给这个项目这个项目 disable maven nature 然后再添加上 ...
- android 图片
1,setCompoundDrawables(Drawable left, Drawable top,Drawable right, Drawable bottom) 设置图片出现在textView, ...
- swift中的as?和as!
as操作符用来把某个实例转型为另外的类型,由于实例转型可能失败,因此Swift为as操作符提供了两种形式:选项形式as?和强制形式as 选项形式(as?)的操作执行转换并返回期望类型的一个选项值,如果 ...
- c++类流操作运算符的重定义
对于流操作运算符我们需要注意的是函数的返回类型应该是流输入类型的引用或者流输出类型的引用,因为如果代码是 cout<<a<<b; 我们对a执行完cout函数之后,我们应该再次将 ...
- MySQL多版本并发控制(MVCC)
MVCC是行级锁的一个变种,但是它在很多的情况下避免了加锁操作,因此开销更低.MySQL,包括Oracle.PostgreSQL都实现了MVCC,虽然每个关系数据库实现不一样,但大都是实现了非阻塞的读 ...
- 条款12:复制对象时勿忘其每一个成分(Copy all parts of an object)
NOTE: 1.Copying 函数应该确保复制“对象内的所有成员变量”及“所有base class成分”. 2.不要尝试以某个copying函数实现另一个copying函数.应该将共同机能放进第三个 ...