TP5框架青春少年

ThinkPHP-5教程
在这里插入图片描述
相关链接:

https://www.kancloud.cn/manual/thinkphp5/118003

环境准备
必备环境

在这里插入图片描述

  1. 上面的环境扩展信息必须在php.ini进行开启,同时还需要将php.exe加入到环境变量中(TP5里面也提供了类似laravel里面的artisan命令行功能,所以也要把php.exe加入到环境变量)
    TP5框架青春少年_第1张图片

1.建议使用PHPstudy集成开发环境
TP5框架青春少年_第2张图片

1.常见php.ini的扩展的开启同时还要开启Apache里面的某些扩展

TP5框架青春少年_第3张图片

1.Apache的rewrite模块的开启(到时候TP里面要做为入库文件的隐藏)
TP5框架青春少年_第4张图片

composer安装
官网:http://www.phpcomposer.com/

相关文档:https://www.kancloud.cn/thinkphp/composer/35668

资源包:https://packagist.org/

无网安装composer软件
TP5框架青春少年_第5张图片

由于上面的exe安装过程中需要联网进行操作,并且服务器在国外,一般安装不成功,上面的方式不可取。换为下面的方式进行操作。

1.下载对应的composer.phar文件
下载地址:https://getcomposer.org/download/
TP5框架青春少年_第6张图片

1.下载一个window的命令行加强工具(cmder),该工具比本身的DOS要强很多倍,并且可以自己配置window的下命令。
网站:http://cmder.net/

网站:http://www.cnblogs.com/jadeboy/p/5132423.html
TP5框架青春少年_第7张图片

1.将cmder.zip加压到一个非中文非空格的目录
TP5框架青春少年_第8张图片

1.查找php.exe的绝对路径
TP5框架青春少年_第9张图片

路径:C:\phpStudy\php\php-7.0.12-nts\php.exe

1.设置alias别名,可以使用composer命令
TP5框架青春少年_第10张图片

设置如下内容

alias composer=C:\phpStudy\php\php-7.0.12-nts\php.exe C:\dev\cmder\composer.phar $*

TP5框架青春少年_第11张图片

1.重新打开一个cmder的命令行输入 composer -v
TP5框架青春少年_第12张图片

安装
composer安装TP5
TP5手册:https://www.kancloud.cn/manual/thinkphp5

本地服务器启动方式:php -S localhost:8000 -t

1.使用composer安装
TP5框架青春少年_第13张图片

composer create-project topthink/think local.tp5.com --prefer-dist

安装PHPstudy的www目录下
TP5框架青春少年_第14张图片

安装后
TP5框架青春少年_第15张图片

1.使用composer安装后,我们可以使用PHP内置的web服务器来启动项目

php -S localhost:8000 -t public

在这里插入图片描述

访问:
TP5框架青春少年_第16张图片

注意: PHP内置的web服务器一般也就测试使用,上线肯定不用。

-S 代表是监听的IP的地址和端口

-t 代表是网站的根目录

源码包安装TP5
1.加压tp5的源码包到虚拟主机目录
TP5框架青春少年_第17张图片

2.配置虚拟主机
TP5框架青春少年_第18张图片

TP5框架青春少年_第19张图片

1.修改hosts文件
TP5框架青春少年_第20张图片

1.修改vhost文件,同时修改AllowOverride All配置,稍后伪静态隐藏入口文件需要开启该配置项
TP5框架青春少年_第21张图片

2.域名访问效果
TP5框架青春少年_第22张图片

基础
需要注意: 在新版的TP5里面的,目录的规划和文件的命名有很大的差别(和之前相比)

开发规范

TP5框架青春少年_第23张图片

主要的变化如下:
1.除了类文件的名称需要大写之外,其他的所有的文件和文件夹都使用小写命名。
TP5框架青春少年_第24张图片

还要类文件,也不需要在使用类后缀(以前写一个控制器 UserController.class.php 现在直接这样写User.php即可)

1.函数都建议使用下划线的命名方式(get_user_info_by_id)类都是大驼峰的方式,类里面的方法都使用小驼峰

1.还有配置项都是用小写(以前使用的是大写)

目录规范
在新版的TP5里面的目录变化也是很大的,需要注意。

相关文档:https://www.kancloud.cn/manual/thinkphp5/118008

整体分析
TP5框架青春少年_第25张图片

application目录分析
TP5框架青春少年_第26张图片

index模块
在这里插入图片描述

public目录
TP5框架青春少年_第27张图片

Tp官方的源码目录
TP5框架青春少年_第28张图片

TP5框架青春少年_第29张图片

Vendor目录
TP5框架青春少年_第30张图片

入口文件
注意:在Tp5里面的入库文件和Tp3.2是不一样的,需要注意,是在public目录下。
TP5框架青春少年_第31张图片

控制器
系统默认控制器

  1. tp默认控制器文件位置
    TP5框架青春少年_第32张图片

注意:上面是TP默认的控制器的文件的目录,并该控制器文件首字母大写,同时没有类后缀。(以前://UserController.class.php)

  1. 如何在浏览器访问该控制器下的方法?
    答:域名/index.php/index模块/index控制器/lst方法,这里TP5使用的phpinfo的模式进行URL的调度。

TP5框架青春少年_第33张图片

  1. 效果
    TP5框架青春少年_第34张图片

自定义控制器编写
4. 在index模块的controller控制器文件夹下编写一个自己的Goods.php控制器文件
TP5框架青春少年_第35张图片

  1. URL访问
    TP5框架青春少年_第36张图片

注意:如果我们的控制器文件使用的大驼峰方式命名,需要使用下划线方式访问

  1. 定义一个以大驼峰方式命名的类文件
    TP5框架青春少年_第37张图片

  2. URL访问的时候,直接输入大驼峰方式访问,则报错
    TP5框架青春少年_第38张图片

3.解决:使用下划线方式访问
TP5框架青春少年_第39张图片

调试模式开启

  1. 修改application/config.php配置文件,将如下的信息更改为true
    TP5框架青春少年_第40张图片

1.开启调试模式后,报错更友好
TP5框架青春少年_第41张图片

视图
注意:在Tp5里面可以使用两种方式来载入视图:

方式一:

语法:return view(‘视图名称’, ‘关联数组,传递给视图的数据’)

控制器代码:

TP5框架青春少年_第42张图片

视图代码:
在这里插入图片描述

方式二:

语法:return $this->fetch(‘视图名称’, [关联数组,传递给视图数据]),但需要继承 \think\Controller控制器

控制器代码:
TP5框架青春少年_第43张图片

视图代码:
TP5框架青春少年_第44张图片

URL和路由
URL访问

在这里插入图片描述

注意1:在TP5里面,当使用URL进行访问的时候,地址栏目的控制器的名称无论是大小还是小写,都会被统一的转换为小写。

注意2:如果控制器文件的使用UserInfo形如这样的命名,需要使用下划线访问。如果不希望转换,同时,我们自己写的控制器的访问也不希望转换为小写,可以配置 url_convert = false 即可。

TP5框架青春少年_第45张图片

以后访问大驼峰的方式,则不会报错。
在这里插入图片描述

GET参数处理
URL访问
TP5框架青春少年_第46张图片

代码
TP5框架青春少年_第47张图片

隐藏入口文件

TP5框架青春少年_第48张图片

1.需要开启Apache的Rewrite模块
TP5框架青春少年_第49张图片

1.开启虚拟主机的AllowOverride All
TP5框架青春少年_第50张图片

1.在网站根目录添加.htaccess文件
TP5框架青春少年_第51张图片

内容参考:
TP5框架青春少年_第52张图片

访问效果:
TP5框架青春少年_第53张图片

注意:通过上面的操作,我们可以非常方便的隐藏入口文件,但是URL地址还是很长,是否可以进一步的优化,便于SEO。可以使用TP5里面的路由进行完成。

路由定义
注意1: 在Tp5里面,路由并不是必须的,不使用路由的情况下,照样可以使用pathinfo的方式进行访问。

例如:域名/[index.php入口文件]/index模块名称/index控制器名称/lst方法名称/get参数

注意2:也可以开始Tp5的路由和pathinfo同时一起使用。修改配置文件进行开启
TP5框架青春少年_第54张图片

注意3:路由文件位置:application/route.php文件

案例一最简单的路由
1.在application/route.php文件定义规则
TP5框架青春少年_第55张图片

1.定义处理路由请求的控制器和方法
TP5框架青春少年_第56张图片

  1. 效果
    在这里插入图片描述

对于上面的操作,我们发现goods后面的数字一般代表是某件商品的主键ID,一般这个不是写死。如果写死了,访问其他的商品信息,则立马报错(例如范围的是15)
TP5框架青春少年_第57张图片

案例二-路由参数

  1. 定义路由参数是可以变的
    TP5框架青春少年_第58张图片

1.在控制器的方法里面获取参数
TP5框架青春少年_第59张图片

案例三-路由类
除了上面的方式可以定义路由外,还有其他的方式定义路由,使用系统自带的Route路由类

  1. 路由定义
    TP5框架青春少年_第60张图片

1.控制器方法定义
TP5框架青春少年_第61张图片

效果
TP5框架青春少年_第62张图片

案例四-闭包处理
对于上面的这种路由类的定义,我们还可以使用闭包函数进行响应。

  1. 定义路由规则
    TP5框架青春少年_第63张图片

1.创建视图文件(public/view下)
TP5框架青春少年_第64张图片

效果
TP5框架青春少年_第65张图片

URL分隔符

在TP5里面的URL的分隔符默认使用的/ ,可以通过配置 pathinfo_depr 参数改变。
TP5框架青春少年_第66张图片

1.修改配置文件的 pathinfo_depr
TP5框架青春少年_第67张图片

访问
TP5框架青春少年_第68张图片

路由参数

单独在建立一个Blog的控制器文件,然后处理某年某月的日志博客,可以使用TP里面自带的命令行工具建立控制器。

url: http://local.tp.com/blog-2015-12 ===> 某个控制器下的方法

TP5框架青春少年_第69张图片

月份正则:http://blog.csdn.net/ljsososo/article/details/16898541

路由分组
方式一:

在这里插入图片描述

方式二:
在这里插入图片描述

其他的路由

resource资源路由:其他的如get或者是post
TP5框架青春少年_第70张图片

手册提供
TP5框架青春少年_第71张图片

请求和响应
请求
在TP5里面接收用户的请求数据可以使用如下的方式进行处理:

Request的实例
a) $request = Request::instance()

在控制器里面继承基类控制器
a) $this->request()->param(‘参数’)

使用 input() 函数(注意: 在TP5里面已经不能在使用Tp3.2里面的I函数)
参数的依赖注入

TP5框架青春少年_第72张图片

注意:在TP5里面IS_GET、IS_POST等常量已经不存在
如果要获取,则需要使用Request实例进行方法获取
TP5框架青春少年_第73张图片

响应
视图载入
TP5框架青春少年_第74张图片

提示信息-成功和错误
1.定义路由
TP5框架青春少年_第75张图片

1.展示添加表单
TP5框架青春少年_第76张图片

3.在User控制器的add方法里面完成处理
TP5框架青春少年_第77张图片

注意:TP5里面已经不再使用U函数了。

url函数
在TP5里面url地址的生成需要使用url函数,在Tp3.2里面的U函数已经不能在Tp5里面进行使用了。

方式一:
TP5框架青春少年_第78张图片

效果:
TP5框架青春少年_第79张图片

方式二:
TP5框架青春少年_第80张图片

效果:
TP5框架青春少年_第81张图片

方式三:参数的另外一种方式
TP5框架青春少年_第82张图片

效果:

TP5框架青春少年_第83张图片

方式四:使用系统内部的Url类进行生产URL地址
TP5框架青春少年_第84张图片

效果:
TP5框架青春少年_第85张图片

重定向
TP5框架青春少年_第86张图片

直接跳转,不给提示信息

返回数据类型

注意:默认情况下,TP5里面返回的是html文本信息,如果我们期望返回的是json格式的数据,则需要修改配置文件

TP5框架青春少年_第87张图片

控制器下的方法:
TP5框架青春少年_第88张图片

浏览器效果
TP5框架青春少年_第89张图片

json中文转义
TP5框架青春少年_第90张图片

效果
TP5框架青春少年_第91张图片

文档:http://blog.csdn.net/default7/article/details/38123201

TP5自带json函数
TP5框架青春少年_第92张图片

效果:
在这里插入图片描述

json函数源码
TP5框架青春少年_第93张图片

数据库操作-DB类

学习手册

在这里插入图片描述

数据库配置
TP5框架青春少年_第94张图片

注意1:在TP里面,可以在模块下面单独的建立一个database.php配置文件,代表这个模块就使用配置的这个数据库
在这里插入图片描述

注意2:我们可以在config.php里面配置多个数据信息也是可以的
TP5框架青春少年_第95张图片

数据库操作-查询

先在控制器引入Db类
TP5框架青春少年_第96张图片

使用Db类的query方法即可
TP5框架青春少年_第97张图片

查询也可以使用占位符
TP5框架青春少年_第98张图片

数据库操作-增删改

使用Db类的execute方法
TP5框架青春少年_第99张图片

数据库切换
在application/config.php里面配置一个db1的数据库信息
TP5框架青春少年_第100张图片

1.使用Db::connect(‘db1’) 获取 dedecms数据库里面的数据
TP5框架青春少年_第101张图片
TP5框架青春少年_第102张图片

手册:
TP5框架青春少年_第103张图片

构造器-查询

方式一:获取所有的数据
TP5框架青春少年_第104张图片

效果

TP5框架青春少年_第105张图片

方式二:获取单条数据(a. 根据主键 b.查询条件)
TP5框架青春少年_第106张图片

效果
TP5框架青春少年_第107张图片

例如:查询用户名为caoyang的记录
TP5框架青春少年_第108张图片

构造器-添加
TP5框架青春少年_第109张图片

构造器-更新
TP5框架青春少年_第110张图片

构造器-删除
TP5框架青春少年_第111张图片

别名处理

对于上面的查询构造器,使用的是Db::table(表前缀的表名),可以换一种方式来不写表前缀

Db::name(‘不要表前缀的表名’)
TP5框架青春少年_第112张图片
建议使用Db::name()方法调用

助手函数

在新版TP5里面已经不存在M()函数(tp3.2的时候可以帮我们实例化系统的模型)使用的是db()帮助函数进行替换

db(‘不要前缀的表名’)->select();
TP5框架青春少年_第113张图片

闭包查询
db(‘admin’)->select(function($query){

// $query里面可以设置查询的条件

});

TP5框架青春少年_第114张图片

使用Query对象查询

有点类似laravel里面的查询构造器
TP5框架青春少年_第115张图片

TP5框架青春少年_第116张图片

模型学习

在MVC里面,M是负责对数据的处理,其实在TP5里面模型封装的已经很好了,基本上我们不用做过多的操作,使用系统自带的基类即可完成大部分的curd操作。

模型定义

需要写在模块的model目录下,我们可以使用TP5自带的命令行工具进行生成。

注意1:在TP5里面模型也不在使用类后缀,直接就是使用去除表前缀后的名称作为模型的名称。(模型名称使用大驼峰的方式)

例如:表的名称为 sh_admin 对应的模型文件名称 Admin.php

例如:表的名称为 sh_goods_attribute 对应的模型文件名称 GoodsAttribute.php

php think make:model app\index\model\User

TP5框架青春少年_第117张图片

创建后
TP5框架青春少年_第118张图片

定义sh_user表

上面的模型和下面的sh_user是对应的
TP5框架青春少年_第119张图片

基本操作-增加

完成数据的增加主要有如下几种方法

1.模型对象的save方法(先为对象设置属性)
2.模型类的create静态方法
3.模型对象的saveAll批量添加方法

实操:

1.模型对象的save方法(先为对象设置属性)
TP5框架青春少年_第120张图片

2.模型类的create静态方法【简化操作】
TP5框架青春少年_第121张图片

3.模型对象的saveAll批量添加方法【上面的两种操作,都只能完成单条数据的插入,如果批量插入数据,需要使用模型对象的saveAll方法】
TP5框架青春少年_第122张图片

基本操作-查看
查询数据主要有如下几种方法

1.模型类的get静态方法【存在返回值为对象,否则为null】
2.通过字段查询getByFieldname()方法
3.根据条件查询get([‘username’ => ‘root’])
4.where方法查询->find()
5.where方法查询->select()
6.模型类的all静态方法和select静态方法

实操:

1.模型类的get静态方法【存在返回值为对象,否则为null】,通过传递主键获取数据

TP5框架青春少年_第123张图片

效果
TP5框架青春少年_第124张图片

2.根据条件查询get([‘username’ => ‘root’])

方式一:
TP5框架青春少年_第125张图片

方式二:使用where方法传递(需要注意后面要通过find()方法调用一下)

TP5框架青春少年_第126张图片

3.通过模型对象的字段查询getByFieldname(‘查询条件’)方法
TP5框架青春少年_第127张图片

1.模型类的where方法查询,然后调用find()方法
在这里插入图片描述

5.where方法查询->select()

方式一:
TP5框架青春少年_第128张图片

方式二:
在这里插入图片描述

6.模型类的all静态方法和select静态方法
TP5框架青春少年_第129张图片

注意:对应all和select方法返回的数据,是一个数组,数组中的每个元素是一个模型对象,如果我们需要把他们转换为普通的二维数组(数组中的元素也是数组)

TP5框架青春少年_第130张图片

效果:
TP5框架青春少年_第131张图片

便捷方式获取模型实例

在新版的Tp5里面可以有如下两种便捷方式获取模型实例:

方式一:使用model助手函数
TP5框架青春少年_第132张图片

方式二:使用TP5自带的Loader类的model静态方法
TP5框架青春少年_第133张图片

总结:在新版的TP5里面,在原先TP3.2里面的单字母函数D已经不存在,取而代之的是model函数。

基本操作-更新

更新数据主要有如下几种方法

1.先 get(),后save()

2.模型类update静态方法

实操:

1.先调用模型类的get()静态方法,然后在调用模型对象的save()方法
TP5框架青春少年_第134张图片

2.模型类update静态方法

方式一:
TP5框架青春少年_第135张图片

方式二:
TP5框架青春少年_第136张图片

基本操作-删除

删除数据主要有如下几种方法

1.先使用模型类的get()静态方法,然后在使用模型对象的delete()方法

2.模型类destroy静态方法

实操:

  1. 先使用模型类的get()静态方法,然后在使用模型对象的delete()方法
    TP5框架青春少年_第137张图片

2.模型类destroy静态方法
TP5框架青春少年_第138张图片

3.使用destroy同时删除多条数据
TP5框架青春少年_第139张图片

4.模型对象的delete方法进行删除(需要传递删除条件)
TP5框架青春少年_第140张图片

相关文档

网站:https://www.kancloud.cn/manual/thinkphp5/135186

模型关联

注意:在TP里面的模型关联没有laravel里面那么好用,简单的了解即可,一般来说,还是建议自己在代码里面完成模型间的关系处理。不要过来的依赖模型关联。

在TP里面主要是定义三种模型关联类型:

一对一

简介
注意:一对一的关系是可以在一张表里面完成的,但是一般来说,数据有冷热之分,热数据(查询频繁的数据,应该单独的抽取称为一张表,水平方向字段数应该尽可能的少)冷数据(查询较少的数据,单独的放在另外的一张表里面进行操作,通过一个外键和热数据表进行关联。例如下面的表里面的是通过sh_profile表里面的user_id产生的关联。)

场景:例如一个用户存在一个具体的用户履历信息

TP5框架青春少年_第141张图片

自己手工的连表查询:

select a.*, b.address from sh_user a left join sh_profile b on a.id = b.user_id where a.id = 3;

关联查询

1.建立用户表和履历表
TP5框架青春少年_第142张图片

1.创建User.php和Profile.php模型文件,并在User.php模型文件里面定义模型关联信息
TP5框架青春少年_第143张图片

履历表模型
TP5框架青春少年_第144张图片

1.查询关联信息
TP5框架青春少年_第145张图片

效果:

TP5框架青春少年_第146张图片

对于上面的操作,完全可以自己写sql完成

TP5框架青春少年_第147张图片

百度:链式操作

http://www.thinkphp.cn/topic/43233.html

TP5框架青春少年_第148张图片

关联添加

  1. 完全可以自己去在代码里面完成,没必要依赖TP的关联模型。
    TP5框架青春少年_第149张图片

1.使用Tp的关联模型进行数据的添加
TP5框架青春少年_第150张图片

一对多

简介
一对多的模型还是很常见的,一般解决方法就是增加一张附加表,然后在附加表里面增加一个关联字段。

常见:一个用户可以存在多本书籍。

sh_user表:
TP5框架青春少年_第151张图片

关联查询

1.创建book模型,并且在user模型里面定义关联关系
在这里插入图片描述

定义关系

TP5框架青春少年_第152张图片

1.构造测试数据
TP5框架青春少年_第153张图片

1.查询数据
TP5框架青春少年_第154张图片

关联添加

  1. 不依赖TP的关联模型,自己手工的解决
    TP5框架青春少年_第155张图片

1.使用Tp的关联模型完成

在这里插入图片描述

多对多

文档:https://www.kancloud.cn/manual/thinkphp5/142359

自动验证

相关文档:https://www.kancloud.cn/manual/thinkphp5/129319

场景:用户的添加的时候完成自动验证,在TP5里面可以使用多种方式完成验证操作。

验证类文件-方式一

1.在模块下建立一个validate目录,编写对应的验证类(类文件的名称和模型名称一致)

TP5框架青春少年_第156张图片

1.在控制器中使用模型对象的validate方法调用
在这里插入图片描述

效果
TP5框架青春少年_第157张图片

验证类文件-方式二
TP5框架青春少年_第158张图片

控制器验证-方式一

1.调用控制器的$this->validate(验证数据,验证类名称)方法
TP5框架青春少年_第159张图片

控制器验证-方式二
1.调用控制器的$this->validate(验证数据,验证的规则)方法
TP5框架青春少年_第160张图片

注意:验证通过返回true,否则返回错误的提示信息

注意:如果用户想自定义验证提示信息,则可以传递第三个参数

TP5框架青春少年_第161张图片

系统验证类的使用

在有的时候我们不希望自己定义验证类来处理,可以使用系统自带的Validate类进行验证
TP5框架青春少年_第162张图片

验证类的静态方法

TP5框架青春少年_第163张图片

演示
TP5框架青春少年_第164张图片

验证场景

TP里面使用了一种叫做验证场景的概念,针对不同的场合使用不同的验证,例如:在添加的时候有添加的验证规则;在更新的时候有更新的规则
TP5框架青春少年_第165张图片

表单验证

主要是为了防止外站提交(csrf攻击)

解决:

  1. 在服务器返回表单信息的之前,生成一个唯一的密钥,然后在表单里面的隐藏域里面存放一下,同时还要把数据存到session里面一下。

  2. 用户填完信息后,点击提交后,检测用户表单隐藏域里面的密钥和session里面的时候一样,一样则没有伪造提交(外站提交)

实现:

  1. 在提交表单里面使用token()函数生成一个隐藏域
    TP5框架青春少年_第166张图片

1.在自动验证里面进行验证
TP5框架青春少年_第167张图片

坑-dateFormat验证规则

在TP5如果需要验证某个时间数据,可以指定验证个还是,我们可以使用dateFormat规则,同时为其传递一个验证的规则字符串。

TP5框架青春少年_第168张图片

查看Validate底层的dateFormat方法
TP5框架青春少年_第169张图片

相关文档:

http://code.ziqiangxuetang.com/php/func-date-parse-from-format.html

SQL调试

本地调试模式开启

TP5框架青春少年_第170张图片

修改config.php配置文件即可
TP5框架青春少年_第171张图片

打印最后执行的sql
TP5框架青春少年_第172张图片

杂项-验证码

在完成验证之前,先做一个简答的后台的登录页面 主要是学习验证码和自动生成

验证码

1.使用composer下载TP官方提供的验证的类库
composer require topthink/think-captcha
在这里插入图片描述

下载后位置

TP5框架青春少年_第173张图片

1.开启路由规则(因为官方提供的验证类库里面需要使用到路由)
TP5框架青春少年_第174张图片

1.在控制器里面进行验证处理(提供两种方式)
在这里插入图片描述

验证码配置

1.在模块的extra目录下增加一个captcha.php配置文件

TP5框架青春少年_第175张图片

1.书写配置项
TP5框架青春少年_第176张图片

具体的配置项目
TP5框架青春少年_第177张图片

源码分析

  1. 验证码源码的目录
    TP5框架青春少年_第178张图片

1.查看一下帮助函数
TP5框架青春少年_第179张图片

TP5框架青春少年_第180张图片

1.验证路由和规则扩展
TP5框架青春少年_第181张图片

1.验证码生成
TP5框架青春少年_第182张图片

杂项-上传

在TP5里面实现文件上传是很简单的

1.定义一个表单
TP5框架青春少年_第183张图片

1.在控制器的方法里面完成上传的处理
在这里插入图片描述

验证

TP5框架青春少年_第184张图片

直接调用file对象validate方法即可
TP5框架青春少年_第185张图片

上传文件的命名

默认的文件的目录命名是的当前的日期,文件的名称是的md5

TP5框架青春少年_第186张图片

1.修改默认的命名方式位sha1
TP5框架青春少年_第187张图片

效果
TP5框架青春少年_第188张图片

1.修改默认的命名方式位uniqid函数
在这里插入图片描述

效果
TP5框架青春少年_第189张图片

命令行工具

控制器生成

语法一:

php think make:controller app/index/controller/Blog

在这里插入图片描述

可以在application的index模块下建立一个Blog控制器
TP5框架青春少年_第190张图片

语法二:

php think make:controller app/index/controller/Blog --plain

TP5框架青春少年_第191张图片

生成的控制器代码里面没有任何的方法
TP5框架青春少年_第192张图片

模型生成

语法一:

TP5框架青春少年_第193张图片

模块生成

定义build_admin.php文件,规定生成内容
TP5框架青春少年_第194张图片

语法:

php think build --config build_admin.php

TP5框架青春少年_第195张图片

查看内容
在这里插入图片描述

Session机制

TP5框架青春少年_第196张图片

Session初始化

在这里插入图片描述

一般来说我们不需要手工的进行设置,TP5会在第一次调用Session类的时候进行初始化操作。

读取Session数据

TP5框架青春少年_第197张图片

通过Request类型的实例的session可以进行session的操作
在这里插入图片描述

操作session
系统提供的Session类主要有如下几个方法来操作session

1.set方法:设置
2.get方法:获取
3.has方法:判断是否存在某个key
4.delete方法:删除某个key
5.clear方法:清空
6.flash方法:设置一次性session
7.flush方法:清空

助手函数

TP5框架青春少年_第198张图片

模板输出

TP5框架青春少年_第199张图片

session驱动

TP5框架青春少年_第200张图片

Cookie机制

cookie初始化

TP5框架青春少年_第201张图片

cookie操作

TP5框架青春少年_第202张图片

TP5框架青春少年_第203张图片

助手函数

在这里插入图片描述

模板输出

在这里插入图片描述

注意:3.2和5.0的区别

tp3和tp5之间还是有些区别的,需要注意的是,从开发者的角度来说,tp底层是改了很多东西。对于使用者来说,更多的是写法上的一些变化。

相关文档:http://www.cnblogs.com/wupeiky/p/5850108.html

控制器调用载入视图

在这里插入图片描述

单字母函数去除

在这里插入图片描述

常见助手函数

TP5框架青春少年_第204张图片

获取某个字段的值

在这里插入图片描述

控制器不区分URL大小写

TP5框架青春少年_第205张图片

标签语法转换

TP5框架青春少年_第206张图片

控制器和模型类后缀

TP5框架青春少年_第207张图片

请求对象和响应对象和常量去除

TP5框架青春少年_第208张图片

原博文地址:http://www.cnblogs.com/wangyuming/p/7674763.html

标签: tp5

你可能感兴趣的:(php)