
批改狀態(tài):合格
老師批語:
// 條件搜索
// withSearch() 觸發(fā)搜索器 傳入兩個數(shù)組
// 參數(shù)1:需要搜索的字段 參數(shù)2:關(guān)聯(lián)數(shù)組,鍵為字段,值為查詢條件的值
public function whereSearch()
{
User::withSearch(['name', 'status'], [
'name' => '于',
'status' => '1'
])->select();
}
// 搜索器 三個參數(shù)
// 使用withSearch()時觸發(fā)
// $query: sql語句對象
// $value: 使用withSearch()觸發(fā)時,關(guān)聯(lián)數(shù)組的當(dāng)前值 '于'
// $data: 使用withSearch()觸發(fā)時,關(guān)聯(lián)數(shù)組的所有值 ['于','1']
public function searchNameAttr($query, $value, $data)
{
dump($query);
dump($value);
dump($data);
$ret = $query->where('name', 'like', $value . '%');
dump($ret);
}
// 搜索器
public function searchStatusAttr($query, $value, $data)
{
$query->where('status', '=', $value);
}
<?php
namespace app\controller;
use app\BaseController;
// 引入普通(動態(tài))類
use think\Db;
use think\Request;
class tp0831 extends BaseController
{
// 在方法中通過參數(shù)方式依賴注入
public function tp0831(Db $db, Request $request)
{
// 參數(shù)方式調(diào)用
$db->table()->slect();
$request->method();
}
}
<?php
namespace app\controller;
use app\BaseController;
// 引入門面類
use think\facade\Db;
use think\facade\Request;
class tp0831 extends BaseController
{
public function tp0831(){
// 門面類直接以靜態(tài)的方式使用
Db::table()->slect();
Request::method();
}
}
thinkphp 動態(tài)類和門面類的引入 如下:
ThinkPHP提供了一些內(nèi)置的調(diào)試工具和函數(shù)
Trace調(diào)試功能就是ThinkPHP提供給開發(fā)人員的一個用于開發(fā)調(diào)試的輔助工具??梢詫崟r顯示當(dāng)前頁面或者請求的請求信息、運(yùn)行情況、SQL執(zhí)行、錯誤信息和調(diào)試信息等,并支持自定義顯示,并且支持沒有頁面輸出的操作調(diào)試。在創(chuàng)建tp項目時已經(jīng)內(nèi)置安裝,不需要手動安裝
如果部署到服務(wù)器的話,你可以通過下面方式安裝composer install --no-dev
當(dāng)項目部署到服務(wù)器正式運(yùn)行時,不建議使用,因為用戶不希望看見調(diào)試信息
開啟Trace調(diào)試功能
xxx.env
文件 刪除.env
的前綴.env
中找到APP_DEBUG
配置項,并將其設(shè)置為true
開啟Trace調(diào)試功能后,頁面右下角會有一個logo,點(diǎn)開后即可看見調(diào)試信息
配合dump()調(diào)試函數(shù)使用
系統(tǒng)為一些常用的操作方法封裝了助手函數(shù),便于使用,包含如下:
序號 | 助手函數(shù) | 描述 |
---|---|---|
1 | abort |
中斷執(zhí)行并發(fā)送HTTP狀態(tài)碼 |
2 | app |
快速獲取容器中的實例 支持依賴注入 |
3 | bind |
快速綁定對象實例 |
4 | cache |
緩存管理 |
5 | class_basename |
獲取類名(不包含命名空間) |
6 | class_uses_recursive |
獲取一個類里所有用到的trait |
7 | config |
獲取和設(shè)置配置參數(shù) |
8 | cookie |
Cookie管理 |
9 | download |
獲取\think\response\File對象實例 |
11 | dump |
瀏覽器友好的變量輸出 |
12 | env |
獲取環(huán)境變量 |
13 | event |
觸發(fā)事件 |
14 | halt |
變量調(diào)試輸出并中斷執(zhí)行 |
15 | input |
獲取輸入數(shù)據(jù) 支持默認(rèn)值和過濾 |
16 | invoke |
調(diào)用反射執(zhí)行callable 支持依賴注入 |
17 | json |
JSON數(shù)據(jù)輸出 |
18 | jsonp |
JSONP數(shù)據(jù)輸出 |
19 | lang |
獲取語言變量值 |
20 | parse_name |
字符串命名風(fēng)格轉(zhuǎn)換 |
21 | redirect |
重定向輸出 |
22 | request |
獲取當(dāng)前Request對象 |
23 | response |
實例化Response對象 |
24 | session |
Session管理 |
25 | token |
生成表單令牌輸出 |
26 | trace |
記錄日志信息 |
27 | trait_uses_recursive |
獲取一個trait里所有引用到的trait |
28 | url |
Url生成 |
29 | validate |
實例化驗證器 |
30 | view |
渲染模板輸出 |
31 | display |
渲染內(nèi)容輸出 |
32 | xml |
XML數(shù)據(jù)輸出 |
33 | app_path |
當(dāng)前應(yīng)用目錄 |
34 | base_path |
應(yīng)用基礎(chǔ)目錄 |
35 | config_path |
應(yīng)用配置目錄 |
36 | public_path |
應(yīng)用根目錄 |
37 | root_path |
中斷執(zhí)行并發(fā)送HTTP狀態(tài)碼 |
38 | runtime_path |
應(yīng)用運(yùn)行時目錄 |
可以在應(yīng)用的公共函數(shù)文件中重寫上面這些助手函數(shù)。
需要使用composer require topthink/think-multi-app
來安裝多應(yīng)用模塊
在app目錄下創(chuàng)建應(yīng)用
完整目錄解構(gòu) 如下
www WEB部署目錄(或者子目錄)
├─app 應(yīng)用目錄
│ ├─index 項目1
│ │ ├─controller 控制器目錄
│ ├ ├─model 模型目錄
│ ├ ├─view 視圖目錄
│ ├─admin 項目2
│ │ ├─controller 控制器目錄
│ ├ ├─model 模型目錄
│ ├ ├─view 視圖目錄
│ ├─ ... 更多類庫目錄
│ │
│ ├─BaseController.php 默認(rèn)基礎(chǔ)控制器類
│ ├─ExceptionHandle.php 應(yīng)用異常定義文件
│ ├─common.php 全局公共函數(shù)文件
│ ├─middleware.php 全局中間件定義文件
│ ├─provider.php 服務(wù)提供定義文件
│ ├─Request.php 應(yīng)用請求對象
│ └─event.php 全局事件定義文件
│
├─config 配置目錄
│ ├─app.php 應(yīng)用配置
│ ├─cache.php 緩存配置
│ ├─console.php 控制臺配置
│ ├─cookie.php Cookie配置
│ ├─database.php 數(shù)據(jù)庫配置
│ ├─filesystem.php 文件磁盤配置
│ ├─lang.php 多語言配置
│ ├─log.php 日志配置
│ ├─middleware.php 中間件配置
│ ├─route.php URL和路由配置
│ ├─session.php Session配置
│ ├─trace.php Trace配置
│ └─view.php 視圖配置
│
├─view 視圖目錄
├─route 路由定義目錄
│ ├─route.php 路由定義文件
│ └─ ...
│
├─public WEB目錄(對外訪問目錄)
│ ├─index.php 入口文件
│ ├─router.php 快速測試文件
│ └─.htaccess 用于apache的重寫
│
├─extend 擴(kuò)展類庫目錄
├─runtime 應(yīng)用的運(yùn)行時目錄(可寫,可定制)
├─vendor Composer類庫目錄
├─.example.env 環(huán)境變量示例文件
├─composer.json composer 定義文件
├─LICENSE.txt 授權(quán)說明文件
├─README.md README 文件
└─think 命令行入口文件
<?php
namespace app\index\controller;
use app\BaseController;
class Index extends BaseController
{
public function index()
{
echo '前臺應(yīng)用';
}
}
<?php
namespace app\admin\controller;
use app\BaseController;
class Admin extends BaseController
{
public function admin()
{
echo '后臺應(yīng)用';
}
}
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號