ThinkPHP5.0 常用目錄結構
資料庫的備份(匯出)
- 進入命令列
win+r 輸出cmd 然後回車 - 執行匯出
mysqldump -u使用者名稱 -p 資料庫名稱 > 匯出檔案路徑
資料庫的恢復(匯入)
- 登入MySQL
mysql [-h主機名] -u使用者名稱 -p 然後回車 - 建立資料庫
create database tpshop;
- 選中資料庫
use tpshop; - 將備份的檔案匯入當前資料庫
source D:/dir_20210407.sql; - 檢視資料表
show tables;
1 think模板引擎
模板引擎:將PHP中的變數展示到HTML檔案中的機制
1.1 標籤
- 普通標籤
- 標籤庫標籤
普通標籤與標籤庫標籤 這兩類使用時沒有區別 - 自定義標籤
thinkphp預設的 模板引擎普通標籤標記 與 標籤庫標籤標記 是一對 { },為了有效的與前端js或其他的標記分開,所以改成 {{ }},更改位置在主配置檔案(config.php)中,將“tpl_begin”、”taglib_begin” 改成 ‘{{‘ ,”tpl_end”、、”taglib_end”改成 ‘}}’ ,(如下程式碼:)
// 模板引擎普通標籤開始標記
'tpl_begin' => '{{',
// 模板引擎普通標籤結束標記
'tpl_end' => '}}',
// 標籤庫標籤開始標記
'taglib_begin' => '{{',
// 標籤庫標籤結束標記
'taglib_end' => '}}',
1.2 變數的展示
- 標量(簡單的變數)
語法形式:{{$變數名}}
- 陣列
語法形式:{{$陣列['鍵']}}
、{{$陣列.鍵}}
- 物件
屬性:{{$物件->屬性}}
、{{$物件:屬性}}
方法:{{$物件->方法([引數 ....])}}
、
{{$物件:方法([引數 ....])}}
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 協議》,轉載必須註明作者和本文連結