【PHP】ThinkPHP基础

下载composer

ComposerA Dependency Manager for PHPicon-default.png?t=O83Ahttps://getcomposer.org/

安装composer

查看composer是否安装

composer
composer --version

安装 ThinkPHP6

如果你是第一次安装的话,首次安装咱们需要打开控制台:

进入后再通过命令,在命令行下面,切换到你的WEB根目录下面:

cd E:\Web\www

接着输入以下命令安装 tp6.0:

composer create-project topthink/think tp621

这里的tp621目录名你可以任意更改,这个目录就是我们后面会经常提到的应用根目录。

查看当前安装的tp61版本

cd到tp61,然后输入:php think version即可运行成功

php think version

报错解决

开启debug调试:

找到app同级目录文件.example.env,更名为.env,另外在文件中要加上一句:APP_DEBUG = true,保存。

视图安装

视图功能由\think\View类配合视图驱动(也即模板引擎驱动)类一起完成,新版仅内置了PHP原生模板引擎(主要用于内置的异常页面输出),如果需要使用其它的模板引擎需要单独安装相应的模板引擎扩展。如果需要使用thinkTemplate模板引擎,需要安装think-view扩展(该扩展会自动安装think-template依赖库)

该扩展跟tp6安装多应用扩展一样,需要安装think-template(命令:composer require topthink/think-view),切记一定要在项目根目录进行安装

使用cmd窗口,将目录切换到ThinkPHP文件根目录下,使用composer安装thinkview引擎模板:

d:
cd /xampp/htdocs/tp
composer require topthink/think-view

配置文件

安装完成后,在config目录的view.php文件中进行模板引擎相关参数的配置

(多应用则是相应的应用下view.php),例如:

开启多应用模式

在默认情况下 tp6.0 是单应用模式,在开启多应用模式后目录结构会发生变化(如何开启后面学到再说)

在此只说明两者目录区别,在单应用模式下,app目录即使应用目录

若使用多应用模式时,在app 目录下将会多出一个文件夹则是不同应用的目录

在这个文件夹下需要放入默认的应用文件(原先的应用文件复制进去),多个项目创建多个即可。

四、站点应用入口

整个tp6.0 的文件入口在 public 目录下:

修改 index.php 你会发现访问后会有不同的效果。

若你想试着改变 index.php,例如修改如下(删除多余代码):

1. 开启多应用模式
默认是单应用的

如果要使用多应用模式,你需要安装多应用模式扩展think-multi-app。

composer require topthink/think-multi-app


扩展安装成功之后,在config目录下找到第一个app.php文件打开,在app.php添加配置: 'auto_multi_app' => true

app中的目录结构调整为 

一定要修改namespace对应上应用的名称

模板渲染,模板路径

ThinkPHP 6 视图

ThinkPHP6.0框架默认支持PHP原生模板的配置及使用,包括修改配置文件将模板引擎改为PHP,以及模板渲染和变量赋值的方法。同时,文章也详细阐述了如何安装和配置thinkTemplate扩展,以及TP模板引擎的安装、配置、变量处理和模板渲染过程,包括模板路径、渲染规则和视图过滤。最后提到了如何切换和初始化不同的模板引擎。

框架6.0默认只能支持PHP原生模板,如果需要使用thinkTemplate模板引擎,需要安装think-view扩展(该扩展会自动安装think-template依赖库)。

PHP原生模板

1.配置文件,修改模板引擎

默认设置为Think,因为没有安装,直接使用会报错;

使用php原生模板,需要修改配置目录的view.php文件的模板引擎为`php`

多应用则是相应的应用下view.php):

// 模板引擎类型使用Think
'type'          => 'php',

报错提示

4.模板渲染

这里做一个简单示例,TP的模板渲染会做更详细讲解,

因为php原生模板变量渲染与常规TP不同,故作此示例:

5.控制器文件
// 添加引用
use think\facade\View;
// 变量赋值
View::assign('name', '张三');
// 模板输出
return View::fetch('user/index');

6.视图文件
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用户详情</title>
</head>
<body>
    <h1>用户详情</h1>
    <p>我是<?php echo $name ?></p>
</body>
</html>

TP模板引擎

1.安装

安装thinkview模板引擎,使用cmd窗口,将目录切换到ThinkPHP文件根目录下,使用composer安装thinkview引擎模板:

cd E:\Web\www\tp831
composer require topthink/think-view

2.配置文件

安装完成后,在配置目录的view.php文件中进行模板引擎相关参数的配置

应用则是相应的应用下view.php),例如:

比如我习惯模板变量标签是两个花括号,改一下这里就行

// 模板引擎普通标签开始标记
'tpl_begin'     => '{{',
// 模板引擎普通标签结束标记
'tpl_end'       => '}}',
// 标签库标签开始标记
'taglib_begin'  => '{{',
// 标签库标签结束标记
'taglib_end'    => '}}',

模板变量

View门面全局变量赋值
public function index()
{
    // 单次赋值
    View::assign('name', '张三');
    // 批量赋值
    View::assign(['gender' => '男', 'school' => '本科']);
    // 输出模板
    return View::fetch('user/index');
}

View门面当前模板赋值
public function index()
{
    // 输出模板
    return View::fetch('user/index', [
        'name' => '张三',
        'gender' => '男',
        'school' => '本科'
    ]);
}

助手函数当前模板赋值
public function serviceContractPreview()
{
    // 输出模板
    return view('user/index', [
        'name' => '张三',
        'gender' => '男',
        'school' => '本科'
    ]);
}

切换模板引擎

1.Engine初始化

视图类提供了engine方法对模板解析引擎进行初始化来切换不同的模板引擎:

使用门面View(think\facade\View)

没有变量赋值,直接输出模板

namespace app\index\controller;
 
use think\facade\View;
 
class Index
{
    public function index()
    {
        // 使用内置PHP模板引擎渲染模板输出
        return View::engine('php')->fetch();
    }
}

如果有变量赋值

namespace app\index\controller;
 
use think\facade\View;
 
class Index
{
    public function index()
    {
        // 初始化内置PHP模板引擎
        View::engine('php');
        // 变量赋值
        View::assign('name', '张三');
        // 模板输出
        return View::fetch('index');
    }
}
2.Config信息修改

如果需要动态改变模板引擎的参数,请使用视图类提供的config方法进行动态设置

namespace app\index\controller;
 
use think\facade\View;
 
class Index
{
    public function index()
    {
        // 改变当前操作的模板路径
        View::config(['type' => 'php']);
        // 变量赋值
        View::assign('name', '张三');
        // 模板输出
        return View::fetch('index');
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值