TP6总结
首先安装环境,建议安装phpstudy,一键式部署,简单高效。
安装Composer,Thinkphp6.0完全开发手册有详细的教程,按教程就可以安装完成。
1.创建项目 demo
在www目录1下,运行下面的命令就会创建一个demo项目。
composer create-project topthink/think demo
把目录文件.example.env修改成.env并且配置文件
在项目根目录下,运行下面的命令,让项目跑起来
php think run
在浏览器中输入如下链接,展示视图页面
http://localhost:8000/
2.开启多应用模式
创建项目后默认是单应用模式,开启多应用模式需要在根目录下运行下面命令就开启了:
composer require topthink/think-multi-app
3. 模板引擎------模板视图驱动
运行后台页面时,会发现报错,缺少视图驱动,因为tp6默认只能支持PHP原生模板,没有模板引擎。
所以如果需要使用thinkTemplate模板引擎,需要安装think-view扩展,在项目根目录下运行下面的命令就可以了。
composer require topthink/think-view
模板字符串替换
'tpl_replace_string'=>[
'__ST__ ' => '/static',
'__CSS__ ' => '/static/css',
'__JS__ ' => '/static/js'
]
4.导入UI模板
不错的UI比较多,导入到项目中,用模板字符串替换css/js路径
- Bootstrap 5
- H-ui
- Layui
5.使用命令生成目录以及创建文件
用命令生成应用 admin
php think build admin
用命令生成类库文件(如:控制器、模型、中间件、验证器等)
单应用模创建Blog控制器
php think make:controller Blog
多应用模下创建user控制器
php think make:controller admin@User
5.控制器跳转方法
TP6已经取消了think\Controller,意味着原来的success、error、redirect和result方法不能再使用了。
官网文档建议在BaseController自己重新写这些方法,奈何不会。
如果还想使用原来的的这些跳转方法,在根目录下,运行这个命令就能使用了
composer require liliuwei/thinkphp-jump
6.验证码
用命令安装验证码,要使验证码生效,必须开启Session,否则验证码无效。
在项目的根目录,运行下面的命令安装验证码
composer require topthink/think-captcha
在视图页面
<div>{:captcha_img()}</div>
// 或者
<div><img src="{:captcha_src()}" alt="captcha" /></div>
7.模板渲染
在控制器中有三种渲染方式
要引用use think\facade\View才能生效
- fetch(模板渲染)
- view(助手函数)
- display(渲染内容)
// 模板渲染
View::fetch()
// 助手函数
view()
// 渲染内容
View::display()
三元运算
{$info.status? $info.msg : $info.error }
在视图中渲染展示数据方式:foreach、volist、for、if、switch等
// foreach
{foreach $list as $key=>$vo }
{$vo.id}:{$vo.name}
{/foreach}
// volist
{volist name="list" id="vo"}
{$vo.id}:{$vo.name}
{/volist}
// for
{for start="开始值" end="结束值" comparison="" step="步进值" name="循环变量名" }
{/for}
// if
{比较标签 name="变量" value="值"}
内容
{/比较标签}
// switch
{switch 变量 }
{case value1 }输出内容1{/case}
{case value2}输出内容2{/case}
{default /}默认情况
{/switch}
8.控制器中获取(接收)参数的3种常用方法
在当前的控制器中要继承BaseController后
- $this->request->param() —依赖注入
- input(") —助手函数
- Request-> isPost() —静态获取
注意:静态获取 要引用 use think\facade\Request才能生效
在视图当中,常见的 编辑按钮 、 删除按钮 操作跳转以及传参跳转操作
一种是a标签href =url跳转,一种是ajax异步跳转
// 第一种
<a href="{:url('xique/admin/roleEdit',['id'=>$v['id]])}">编辑</a>
// 第二种
<a href="#" data-id="{$v.id}" class="btn-edit">删除</a>
<script>
$('.btn-edit').click(function(){
var id = $(this).attr('data-id');
$.ajax({
url:'edit',
type:'post',
dataType:'JSON',
data:{id:id}
success:function(data){
console.log(data);
}
});
});
</script>
废话:如果项目不想安装在www目录下,安装到自己指定的目录,在phpstudy设置中配置文件中,找到httpd.conf文件,在DocumentRoot 行修改指定目录,重启就可以了。 ↩︎