ThinkPHP基础知识

ThinkPHP 5.0


ThinkPHP5.0 常用目录结构



数据库的备份(导出)

  1. 进入命令行
    win+r 输出cmd 然后回车
  2. 执行导出
    mysqldump -u用户名 -p 数据库名称 > 导出文件路径

数据库的恢复(导入)

  1. 登录MySQL
    mysql [-h主机名] -u用户名 -p 然后回车
  2. 创建数据库
    create database tpshop;
  3. 选中数据库
    use tpshop;
  4. 将备份的文件导入当前数据库
    source D:/dir_20210407.sql;
  5. 查看数据表
    show tables;

1 think模板引擎

模板引擎:将PHP中的变量展示到HTML文件中的机制

1.1 标签

  1. 普通标签
  2. 标签库标签
    普通标签与标签库标签 这两类使用时没有区别
  3. 自定义标签
    thinkphp默认的 模板引擎普通标签标记 与 标签库标签标记 是一对 { },为了有效的与前端js或其他的标记分开,所以改成 {{ }},更改位置在主配置文件(config.php)中,将“tpl_begin”、”taglib_begin” 改成 ‘{{‘ ,”tpl_end”、、”taglib_end”改成 ‘}}’ ,(如下代码:)
// 模板引擎普通标签开始标记
'tpl_begin'    => '{{',
// 模板引擎普通标签结束标记
'tpl_end'      => '}}',
// 标签库标签开始标记
'taglib_begin' => '{{',
// 标签库标签结束标记
'taglib_end'   => '}}',

1.2 变量的展示

  1. 标量(简单的变量)
    语法形式:{{$变量名}}
  2. 数组
    语法形式:{{$数组['键']}}{{$数组.键}}
  3. 对象
    属性:{{$对象->属性}}{{$对象:属性}}
    方法:{{$对象->方法([参数 ....])}}
    {{$对象:方法([参数 ....])}}

2 think模板引擎

2.1 变量调节器

语法格式:{{$变量名|变量调节器}}

  • 日期转换
    语法格式:
    {{$变量名|date="Y-m-d Hs", ###}}

注意:### TP5.0必须加这三个#,5.0以后的可以不加

代码示例:

{{$obj->create_time|date="Y-m-d H:i:s",###}}
  • 大小写转换
    语法格式:
    小写:{{$变量名|strtolower}}
    大写:{{$变量名|strtoupper}}
    首字母大写:{{$变量名|ucfirst}}
    示例:
    {{$hi|strtolower}}
    {{$hi|strtoupper}}
    {{$hi|ucfirst}}
  • 字符串截取
    语法格式:{{$变量名|substr=截取的起始位置,[截取长度]}}
    示例:
    {{$hi|substr=0,5}}
    {{$hi|substr=6}}
    {{$name|mb_substr=0,3}}
    {{$name|mb_substr=4}}
  • 声明:
    ThinkPHP模板引擎的变量调节器支持”管道”的写法
    (管道:上一个命令的返回结果,是下一个命令输入)
    示例:
    {{$变量|strtolower|substr=0,5}}
    <!-- 先小写,再取0到5 -->

2.2 保留变量

所谓的保留变量是指不需要经过assign赋值,在模板中能直接访问的变量。

2.2.1 $Think

  • 访问常量
    语法:{{$Think.常量名}}
    示例:
    {{$Think.THINK_VERSION}}
  • 访问预定义变量
    语法:
    {{$Think.get}} 相当于 $_get
    {{$Think.get.键}} 相当于 $_get['键]
    可以取 $_GET $_POST $_FILES $_COOKIE $_SESSION …
    示例:
    {{$Think.get.username}}
  • 访问配置
    语法:{{$Think.config.配置项}}

示例:

{{$Think.config.default_controller}}
  • 多级配置
    语法:{{$Think.config.一级配置.二级配置....}}
    示例:
    {{$Think.config.paginate.list_rows}}

2.2.2 $Request

  • 获取当前模块名
  • 获取当前控制器名
  • 获取当前方法名
    示例:
    <!-- 获取当前模块名 -->
    {{$Request.module}}
    <!-- 获取当前控制器名 -->
    {{$Request.controller}}
    <!-- 获取当前方法名 -->
    {{$Request.action}}

2.3 三目运算符

语法形式:
{{$变量 ? 真值 : 假值}}
示例代码:

{{$Think.config.app_debug ? '开启了' : '没有开启'}}

2.4 流程控制语句

  • if
    语法:
    {{if condition="条件表达式"}}
    {{else if codition="条件表达式2"}}
    {{else /}}
    {{/if}}
    示例:
    {{if condition="$Think.config.app_debug"}}
     开启了
    {{else /}}
     没开启
    {{/if}}
  • VOLIST标签
    语法:
    {{volist name="变量" id="循环变量名" key="循环变量索引"}}
     {{$循环变量名}}
    {{/volist}}
    示例:
    <table border=1;>
     <tr>
        <td>索引</td>
        <td>用户名</td>
        <td>时间</td>
     </tr>
     {{volist name="users" id="vo"}}
     <tr {{if condition="$key==0"}} style="background-color: lightblue;" {{/if}}>
        <td>{{$key}}</td>
        <td>{{$vo.username}}</td>
        <td>{{$vo.create_time|date="Y-m-d Hs",###}}</td>
     </tr>
     {{/volist}}
    </table>

2.5 文件引入

  • 替换字符
    '__STATIC__'  对应public/static/目录
    '__CSS__'  对应public/static/css/目录
    '__JS__'  对应public/static/js/目录

示例:

<link rel="stylesheet" href="__STATIC__/bootstrap/css/bootstrap.css">
  • load
    语法:
    {{load file="路径"}}
    load可以引入css,js和图片
    示例:
    {{load file="__STATIC__/bootstrap/css/bootstrap.css"}}
    {{load file="__JS__/jquery.js"}}
    {{load file="__STATIC__/bootstrap/js/bootstrap.js"}}

3 控制器

控制器位置:application/模块/controller/控制器.php
基类:use think\Controller;
基类位置:tp/thinkphp/library/think/Controller.php

模板相关

assign()
将PHP中的变量赋值给模板
a. 单个赋值:
语法:assign(模板中的变量名, PHP中的变量名)
示例:

$hi = "Hello,world";
$user = [
   'username' => 'sam',
   'create_time' => 1552555525
];
// 将变量赋值给模板
$this->assign('hi',$hi);
$this->assign('user',$user);

b. 多个赋值
语法:

assign([
   '变量名1' => $变量1,
   '变量名2' => $变量2,
   .......
]);

示例:

$hi = "Hello,world";
$user = [
   'username' => 'sam',
   'create_time' => 1552555525
];
$this->assign([
   'hi' => $hi,
   'user' => $user,
]);

fetch()
调用模板
默认的模板路径:模块/view/控制器/方法.html
注意:一定要写return, 不写return将返回空白页面
示例:

return $this->fetch();

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 1

哈哈 直接看文档 :joy:

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
1
粉丝
0
喜欢
1
收藏
1
排名:2872
访问:221
私信
所有博文
博客标签
社区赞助商